@sourcegraph/amp 0.0.1749254507-g977549 → 0.0.1749268955-g81d52f

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.
Files changed (47) hide show
  1. package/dist/amp.js +1 -2
  2. package/dist/client-D82aFqMl.js +0 -1
  3. package/dist/console-RPzEsLY0.js +0 -1
  4. package/dist/create_file.node-Dg6SfP0E.js +0 -1
  5. package/dist/edit_file.node-DOTivrdL.js +0 -1
  6. package/dist/executable-Cvv6G9ik.js +0 -1
  7. package/dist/files-DrSncnX3.js +0 -1
  8. package/dist/fuzzy-server.js +0 -1
  9. package/dist/glob.node-Betywdle.js +0 -1
  10. package/dist/index-C1JH-cfZ.js +0 -1
  11. package/dist/list_directory.node-B8bOIV1q.js +0 -1
  12. package/dist/load-profile-CgexvkzB.js +0 -1
  13. package/dist/{main-CSw2Cx-a.js → main-DU3oYpZK.js} +10 -11
  14. package/dist/node-BIJw0rpH.js +0 -1
  15. package/dist/{node-CaahOEeV.js → node-By3aNbTS.js} +1 -2
  16. package/dist/node-CQsX6uby.js +0 -1
  17. package/dist/node-DeN3f1CH.js +0 -1
  18. package/dist/node-cSLqYAQI.js +0 -1
  19. package/dist/node-l0bjR3wx.js +0 -1
  20. package/dist/read_file.node-Cf-KhpsY.js +0 -1
  21. package/dist/{stdio-De_F_RHg.js → stdio-Cfe85y-d.js} +1 -2
  22. package/dist/storybook.js +0 -1
  23. package/dist/undo_edit.node-CCYYuJ4U.js +0 -1
  24. package/package.json +2 -1
  25. package/dist/amp.js.map +0 -1
  26. package/dist/client-D82aFqMl.js.map +0 -1
  27. package/dist/console-RPzEsLY0.js.map +0 -1
  28. package/dist/create_file.node-Dg6SfP0E.js.map +0 -1
  29. package/dist/edit_file.node-DOTivrdL.js.map +0 -1
  30. package/dist/executable-Cvv6G9ik.js.map +0 -1
  31. package/dist/files-DrSncnX3.js.map +0 -1
  32. package/dist/fuzzy-server.js.map +0 -1
  33. package/dist/glob.node-Betywdle.js.map +0 -1
  34. package/dist/index-C1JH-cfZ.js.map +0 -1
  35. package/dist/list_directory.node-B8bOIV1q.js.map +0 -1
  36. package/dist/load-profile-CgexvkzB.js.map +0 -1
  37. package/dist/main-CSw2Cx-a.js.map +0 -1
  38. package/dist/node-BIJw0rpH.js.map +0 -1
  39. package/dist/node-CQsX6uby.js.map +0 -1
  40. package/dist/node-CaahOEeV.js.map +0 -1
  41. package/dist/node-DeN3f1CH.js.map +0 -1
  42. package/dist/node-cSLqYAQI.js.map +0 -1
  43. package/dist/node-l0bjR3wx.js.map +0 -1
  44. package/dist/read_file.node-Cf-KhpsY.js.map +0 -1
  45. package/dist/stdio-De_F_RHg.js.map +0 -1
  46. package/dist/storybook.js.map +0 -1
  47. package/dist/undo_edit.node-CCYYuJ4U.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-DeN3f1CH.js","sources":["../../core/src/tools/builtin/bash/command-approval.ts","../../node_modules/.pnpm/@xterm+headless@5.5.0/node_modules/@xterm/headless/lib-headless/xterm-headless.js","../../core/src/tools/builtin/bash/xterm.ts","../../core/src/tools/builtin/bash/node-spawn.ts","../../core/src/tools/builtin/bash/node.ts"],"sourcesContent":["import path from 'path'\nimport logger from '../../../common/logger'\nimport type { Settings } from '../../../configuration/settings'\nimport {\n\tDynamic,\n\ttype FlatInvocation,\n\tflatInvocations,\n\ttype FlatWord,\n\tparseShellCommand,\n} from './shell-command-parser'\n\n// Commands that are always safe - read operations, help, version info, etc.\nconst SAFE_COMMANDS = [\n\t// Basic read/info operations\n\t'ls',\n\t'dir',\n\t'find',\n\t'cat',\n\t'head',\n\t'tail',\n\t'less',\n\t'more',\n\t'grep',\n\t'egrep',\n\t'fgrep',\n\t'tree',\n\t'file',\n\t'wc',\n\t'pwd',\n\t'stat',\n\t'du',\n\t'df',\n\t'ps',\n\t'top',\n\t'htop',\n\t'echo',\n\t'printenv',\n\t'id',\n\t'which',\n\t'whereis',\n\t'date',\n\t'cal',\n\t'uptime',\n\t'free',\n\t'ping',\n\t'dig',\n\t'nslookup',\n\t'host',\n\t'netstat',\n\t'ss',\n\t'lsof',\n\t'ifconfig',\n\t'ip',\n\t'man',\n\t'info',\n\t'mkdir',\n\t'touch',\n\t'uname',\n\t'whoami',\n\t// Go\n\t'go version',\n\t'go env',\n\t'go help',\n\t// Cargo\n\t'cargo version',\n\t'cargo --version',\n\t'cargo help',\n\t// Rust\n\t'rustc --version',\n\t'rustc --help',\n\t'rustc --explain',\n\t// Java\n\t'javac --version',\n\t'javac -version',\n\t'javac -help',\n\t'javac --help',\n\t// .NET\n\t'dotnet --info',\n\t'dotnet --version',\n\t'dotnet --help',\n\t'dotnet help',\n\t// C/C++\n\t'gcc --version',\n\t'gcc -v',\n\t'gcc --help',\n\t'gcc -dumpversion',\n\t'g++ --version',\n\t'g++ -v',\n\t'g++ --help',\n\t'g++ -dumpversion',\n\t'clang --version',\n\t'clang --help',\n\t'clang++ --version',\n\t'clang++ --help',\n\t// Python\n\t'python -V',\n\t'python --version',\n\t'python -h',\n\t'python --help',\n\t'python3 -V',\n\t'python3 --version',\n\t'python3 -h',\n\t'python3 --help',\n\t// Ruby\n\t'ruby -v',\n\t'ruby --version',\n\t'ruby -h',\n\t'ruby --help',\n\t// Node\n\t'node -v',\n\t'node --version',\n\t'node -h',\n\t'node --help',\n\t// npm\n\t'npm --help',\n\t'npm --version',\n\t'npm -v',\n\t'npm help',\n\t// yarn\n\t'yarn --help',\n\t'yarn --version',\n\t'yarn -v',\n\t'yarn help',\n\t// pnpm\n\t'pnpm --help',\n\t'pnpm --version',\n\t'pnpm -v',\n\t'pnpm help',\n\t// Testing\n\t'pytest -h',\n\t'pytest --help',\n\t'pytest --version',\n\t'jest --help',\n\t'jest --version',\n\t'mocha --help',\n\t'mocha --version',\n\t// Make\n\t'make --version',\n\t'make --help',\n\t// Docker\n\t'docker --version',\n\t'docker --help',\n\t'docker version',\n\t'docker help',\n\t// Git\n\t'git --version',\n\t'git --help',\n\t'git help',\n\t'git version',\n]\n\n// Array of safe command prefixes - any arguments after these prefixes are considered safe\n// Format: ['command arg1 arg2', 'command arg1', ...]\nconst SAFE_COMMAND_PREFIXES: string[] = [\n\t// Go commands\n\t'go test',\n\t'go run',\n\t'go build',\n\t'go vet',\n\t'go fmt',\n\t'go list',\n\t// Cargo commands\n\t'cargo test',\n\t'cargo run',\n\t'cargo build',\n\t'cargo check',\n\t'cargo fmt',\n\t'cargo tree',\n\t// Make (only dry runs)\n\t'make -n',\n\t'make --dry-run',\n\t// Maven\n\t'mvn test',\n\t'mvn verify',\n\t'mvn dependency:tree',\n\t// Gradle\n\t'gradle tasks',\n\t'gradle dependencies',\n\t'gradle properties',\n\t// .NET\n\t'dotnet test',\n\t'dotnet list',\n\t// Python\n\t'python -c',\n\t// Ruby\n\t'ruby -e',\n\t// Node\n\t'node -e',\n\t// npm\n\t'npm list',\n\t'npm ls',\n\t'npm outdated',\n\t'npm test',\n\t'npm run',\n\t'npm view',\n\t'npm info',\n\t// yarn\n\t'yarn list',\n\t'yarn ls',\n\t'yarn info',\n\t'yarn test',\n\t'yarn run',\n\t'yarn why',\n\t// pnpm\n\t'pnpm list',\n\t'pnpm ls',\n\t'pnpm outdated',\n\t'pnpm test',\n\t'pnpm run',\n\t// Testing\n\t'pytest --collect-only',\n\t'jest --listTests',\n\t'jest --showConfig',\n\t'mocha --list',\n\t// Git\n\t'git status',\n\t'git show',\n\t'git diff',\n\t'git grep',\n\t'git branch',\n\t'git tag',\n\t'git remote -v',\n\t'git rev-parse --is-inside-work-tree',\n\t'git rev-parse --show-toplevel',\n\t'git config --list',\n\t'git log',\n]\n\nconst SAFE_ABSOLUTE_PATHS = ['/dev/null', '/dev/zero', '/dev/stdout', '/dev/stderr', '/dev/stdin']\n\nexport type CommandPartValidation = {\n\trequiresConfirmation: boolean\n\tparts: Array<{\n\t\tcommand: FlatInvocation | string // raw string if command cannot be parsed\n\t\trequiresConfirmation: boolean\n\t}>\n}\n\n/**\n * Check if a given command requires user confirmation, and return information about\n * which parts of the command require confirmation.\n */\n/**\n * Checks if a path is outside the current working directory\n */\nexport function requiresPathConfirmation(requestPath: string, dirs: string[]): boolean {\n\tif (!requestPath) return false\n\n\tif (SAFE_ABSOLUTE_PATHS.includes(requestPath)) {\n\t\treturn false\n\t}\n\n\t// TODO: handle normalization like ending with `/`\n\tif (requestPath.endsWith(path.sep)) {\n\t\trequestPath = requestPath.slice(0, -1)\n\t}\n\n\tif (dirs.includes(requestPath)) {\n\t\treturn false\n\t}\n\n\tif (path.isAbsolute(requestPath)) {\n\t\treturn !dirs.some((dir) => isDescendant(dir, requestPath))\n\t}\n\n\t// Handle relative paths with ../ that go outside cwd\n\tconst parts = requestPath.split('/')\n\tlet depth = 0\n\tfor (const part of parts) {\n\t\tif (part === '..') {\n\t\t\tdepth--\n\t\t\tif (depth < 0) {\n\t\t\t\t// Path tries to go above cwd\n\t\t\t\treturn true\n\t\t\t}\n\t\t} else if (part !== '' && part !== '.') {\n\t\t\tdepth++\n\t\t}\n\t}\n\n\treturn false\n}\n\nfunction isDescendant(parent: string, child: string): boolean {\n\tconst rel = path.relative(path.normalize(parent), path.normalize(child))\n\treturn Boolean(rel) && !rel.startsWith('..') && !rel.startsWith('/')\n}\n\n/**\n * Check if a command contains file references that are outside the current working directory\n */\nexport function commandContainsPathsOutsideCwd(\n\tinvocation: FlatInvocation | string,\n\tdirs: string[],\n\tvalidationChecks?: ValidationChecks,\n): boolean {\n\tif (typeof invocation === 'string') {\n\t\t// Can't reliably parse this as a string, so treat it as potentially unsafe\n\t\treturn false\n\t}\n\n\t// Check arguments for path references\n\tfor (const arg of invocation.arguments) {\n\t\t// Skip processing for Dynamic symbol\n\t\tif (typeof arg !== 'string') continue\n\n\t\t// Skip arguments that are clearly flags or don't contain file path patterns\n\t\tif (\n\t\t\targ.startsWith('-') ||\n\t\t\targ.includes('*') ||\n\t\t\targ.startsWith('\"') ||\n\t\t\targ.startsWith(\"'\")\n\t\t) {\n\t\t\tcontinue\n\t\t}\n\n\t\t// If absolute path validation is disabled, skip bazel-style paths (starting with //)\n\t\tif (validationChecks && !validationChecks.absolutePaths && arg.startsWith('//')) {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Check for path traversal or absolute paths\n\t\tif (arg.includes('/') && requiresPathConfirmation(arg, dirs)) {\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn false\n}\n\nexport type ValidationChecks = {\n\tabsolutePaths: boolean\n\tenvironmentVariables: boolean\n}\n\n/**\n * Determine which validation checks should be performed based on the command invocation\n */\nexport function getValidationChecks(\n\tinvocation: FlatInvocation | string,\n\tstrict: boolean = false,\n): ValidationChecks {\n\t// Default to strict validation\n\tconst defaultChecks: ValidationChecks = {\n\t\tabsolutePaths: true,\n\t\tenvironmentVariables: true,\n\t}\n\n\t// If strict mode is enabled, always use default strict checks\n\tif (strict) {\n\t\treturn defaultChecks\n\t}\n\n\t// If we can't parse the invocation, use strict validation\n\tif (typeof invocation === 'string') {\n\t\treturn defaultChecks\n\t}\n\n\tconst program = typeof invocation.program === 'string' ? invocation.program.toLowerCase() : ''\n\tconst argStrings = invocation.arguments\n\t\t.filter((arg): arg is string => typeof arg === 'string')\n\t\t.join(' ')\n\tconst fullCommand = `${program} ${argStrings}`.toLowerCase()\n\n\t// Bazel commands get relaxed absolute path validation for // paths\n\tif (program.includes('bazel') || fullCommand.includes('bazel') || program === 'ibazel') {\n\t\treturn {\n\t\t\t...defaultChecks,\n\t\t\tabsolutePaths: false, // Allow bazel-style absolute paths like //path/to/target\n\t\t}\n\t}\n\n\treturn defaultChecks\n}\n\n/**\n * Checks if a command matches any safe command patterns.\n * These commands are always allowed regardless of user configuration.\n */\nfunction isSafeCommand(invocationStr: string): boolean {\n\tfor (const safeCmd of SAFE_COMMANDS) {\n\t\tif (invocationStr === safeCmd || invocationStr.startsWith(safeCmd + ' ')) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n/**\n * Determines which SAFE_COMMAND_PREFIXES should be filtered out because\n * the user allowlist contains more specific commands.\n *\n * Simple substring approach: if user allowlist contains commands that start with\n * a safe prefix, remove that safe prefix and ALL more specific safe prefixes.\n */\nfunction getOverriddenSafePrefixes(userAllowlist: string[]): Set<string> {\n\tconst overridden = new Set<string>()\n\n\t// Normalize user allowlist (remove ' *' suffixes)\n\tconst normalizedAllowlist = userAllowlist.map((entry) =>\n\t\tentry.endsWith(' *') ? entry.slice(0, -2) : entry,\n\t)\n\n\t// For each user allowlist entry, find which safe prefixes it overrides\n\tfor (const entry of normalizedAllowlist) {\n\t\tfor (const safePrefix of SAFE_COMMAND_PREFIXES) {\n\t\t\tif (overridden.has(safePrefix)) continue\n\t\t\tif (entry !== safePrefix && entry.startsWith(safePrefix + ' ')) {\n\t\t\t\toverridden.add(safePrefix)\n\t\t\t\t// Also override any safe prefixes that start with this one\n\t\t\t\tfor (const otherPrefix of SAFE_COMMAND_PREFIXES) {\n\t\t\t\t\tif (otherPrefix.startsWith(safePrefix + ' ')) {\n\t\t\t\t\t\toverridden.add(otherPrefix)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn overridden\n}\n\nexport type CommandApprovalParams = {\n\tconfig?: Pick<Settings, 'commands.allowlist' | 'commands.strict'>\n\tplatform?: typeof process.platform\n}\n\nexport function commandRequiresExplicitUserAcceptance(\n\tcmd: string,\n\tdirs: string[],\n\tparams?: CommandApprovalParams,\n): CommandPartValidation {\n\tlet invocations: Array<FlatInvocation | string> = []\n\ttry {\n\t\tconst parsed = parseShellCommand(cmd, params?.platform)\n\t\tinvocations = flatInvocations(parsed)\n\t} catch (error) {\n\t\tlogger.warn('Failed to parse command', { cmd }, error)\n\t\t// If we can't parse the command, treat it as a single command with no arguments\n\t\tinvocations = [cmd]\n\t}\n\tconst userAllowlist = params?.config?.['commands.allowlist'] || []\n\tconst strictMode = params?.config?.['commands.strict'] ?? false\n\n\t// If allowlist includes '*', all commands are allowed\n\tif (userAllowlist.includes('*')) {\n\t\treturn {\n\t\t\trequiresConfirmation: false,\n\t\t\tparts: invocations.map((cmd) => ({ command: cmd, requiresConfirmation: false })),\n\t\t}\n\t}\n\n\t// Check each command part and track which ones need confirmation\n\tconst parts = invocations.map((invocation) => {\n\t\t// If invocation is a string, we can't parse it, so mark it as unsafe\n\t\tif (typeof invocation === 'string') {\n\t\t\treturn { command: invocation, requiresConfirmation: true }\n\t\t}\n\n\t\t// Get validation checks for this invocation\n\t\tconst validationChecks = getValidationChecks(invocation, strictMode)\n\n\t\tconst hasDynamicParts = invocation.arguments.some((arg) => typeof arg !== 'string')\n\t\tfunction wordToString(arg: FlatWord) {\n\t\t\treturn arg === Dynamic ? '<dynamic>' : arg\n\t\t}\n\t\tconst invocationStr = `${wordToString(invocation.program)} ${invocation.arguments.map(wordToString).join(' ')}`\n\n\t\t// Exact-match case, only when a fully static and parsable command. Bypasses the path check.\n\t\tif (!hasDynamicParts) {\n\t\t\tfor (const allowed of userAllowlist) {\n\t\t\t\tif (invocationStr === allowed) {\n\t\t\t\t\treturn { command: invocation, requiresConfirmation: false }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Always allow safe commands (includes help, version, read operations, etc.)\n\t\tif (isSafeCommand(invocationStr)) {\n\t\t\t// Even safe commands need path validation for read operations\n\t\t\tif (commandContainsPathsOutsideCwd(invocation, dirs, validationChecks)) {\n\t\t\t\treturn { command: invocation, requiresConfirmation: true }\n\t\t\t}\n\t\t\treturn { command: invocation, requiresConfirmation: false }\n\t\t}\n\n\t\t// In strict mode, only use user allowlist, not built-in safe prefixes\n\t\t// In non-strict mode, filter out safe prefixes that are overridden by more specific user entries\n\t\tlet allowedCommands: string[]\n\t\tif (strictMode) {\n\t\t\tallowedCommands = userAllowlist\n\t\t} else {\n\t\t\tconst overriddenPrefixes = getOverriddenSafePrefixes(userAllowlist)\n\t\t\tconst filteredSafePrefixes = SAFE_COMMAND_PREFIXES.filter(\n\t\t\t\t(prefix) => !overriddenPrefixes.has(prefix),\n\t\t\t)\n\t\t\tallowedCommands = [...filteredSafePrefixes, ...userAllowlist]\n\t\t}\n\t\tfor (let allowed of allowedCommands) {\n\t\t\t// If the pattern ends with ` *`, then just remove that, because we match on prefixes\n\t\t\t// anyway.\n\t\t\tif (allowed.endsWith(' *')) {\n\t\t\t\tallowed = allowed.slice(0, -2)\n\t\t\t}\n\n\t\t\t// For now, only support wildcard between command parts, and forbid\n\t\t\t// its usage at the start of the allowlist entry\n\t\t\tconst wildcardDelim = ' * '\n\t\t\tif (allowed.includes(wildcardDelim) && !allowed.startsWith(wildcardDelim)) {\n\t\t\t\t// Deconstruct into parts between the wildcard\n\t\t\t\tconst escapedParts = allowed\n\t\t\t\t\t.split(wildcardDelim)\n\t\t\t\t\t.map((part) => part.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n\t\t\t\t// Anchor for prefix + wildcard match\n\t\t\t\tconst allowedRegex = new RegExp(`^${escapedParts.join(' .* ')}(\\\\s.*)?$`)\n\t\t\t\tif (allowedRegex.test(invocationStr)) {\n\t\t\t\t\t// Even for allowed wildcard commands, check if they access paths outside CWD\n\t\t\t\t\tif (commandContainsPathsOutsideCwd(invocation, dirs, validationChecks)) {\n\t\t\t\t\t\treturn { command: invocation, requiresConfirmation: true }\n\t\t\t\t\t}\n\t\t\t\t\treturn { command: invocation, requiresConfirmation: false }\n\t\t\t\t}\n\t\t\t} else if (invocationStr === allowed || invocationStr.startsWith(allowed + ' ')) {\n\t\t\t\t// For prefix matches, check if they access paths outside CWD\n\t\t\t\tif (commandContainsPathsOutsideCwd(invocation, dirs, validationChecks)) {\n\t\t\t\t\treturn { command: invocation, requiresConfirmation: true }\n\t\t\t\t}\n\t\t\t\treturn { command: invocation, requiresConfirmation: false }\n\t\t\t}\n\t\t}\n\n\t\t// This segment is not safe\n\t\treturn { command: invocation, requiresConfirmation: true }\n\t})\n\n\t// Overall confirmation is needed if any part requires it\n\tconst requiresConfirmation = parts.some((part) => part.requiresConfirmation)\n\n\treturn { requiresConfirmation, parts }\n}\n","(()=>{\"use strict\";var e={349:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircularList=void 0;const s=i(460),r=i(844);class n extends r.Disposable{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this.register(new s.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new s.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new s.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;const t=new Array(e);for(let i=0;i<Math.min(e,this.length);i++)t[i]=this._array[this._getCyclicIndex(i)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error(\"Can only recycle when the buffer is full\");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...i){if(t){for(let i=e;i<this._length-t;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+i.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<i.length;t++)this._array[this._getCyclicIndex(e+t)]=i[t];if(i.length&&this.onInsertEmitter.fire({index:e,amount:i.length}),this._length+i.length>this._maxLength){const e=this._length+i.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+i<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(i>0){for(let s=t-1;s>=0;s--)this.set(e+s+i,this.get(e+s));const s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s<t;s++)this.set(e+s+i,this.get(e+s))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}}t.CircularList=n},439:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.clone=void 0,t.clone=function e(t,i=5){if(\"object\"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const r in t)s[r]=i<=1?t[r]:t[r]&&e(t[r],i-1);return s}},969:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreTerminal=void 0;const s=i(844),r=i(585),n=i(348),a=i(866),o=i(744),h=i(302),c=i(83),l=i(460),_=i(753),d=i(480),f=i(994),u=i(282),p=i(435),g=i(981),v=i(660);let b=!1;class S extends s.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new l.EventEmitter),this._onScroll.event((e=>{this._onScrollApi?.fire(e.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(const t in e)this.optionsService.options[t]=e[t]}constructor(e){super(),this._windowsWrappingHeuristics=this.register(new s.MutableDisposable),this._onBinary=this.register(new l.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new l.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new l.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new l.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new l.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new l.EventEmitter),this._instantiationService=new n.InstantiationService,this.optionsService=this.register(new h.OptionsService(e)),this._instantiationService.setService(r.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(o.BufferService)),this._instantiationService.setService(r.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(a.LogService)),this._instantiationService.setService(r.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(c.CoreService)),this._instantiationService.setService(r.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(_.CoreMouseService)),this._instantiationService.setService(r.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(d.UnicodeService)),this._instantiationService.setService(r.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(f.CharsetService),this._instantiationService.setService(r.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(v.OscLinkService),this._instantiationService.setService(r.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new p.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,l.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,l.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,l.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,l.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange([\"windowsMode\",\"windowsPty\"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new g.WriteBuffer(((e,t)=>this._inputHandler.parse(e,t)))),this.register((0,l.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=r.LogLevelEnum.WARN&&!b&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),b=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,o.MINIMUM_COLS),t=Math.max(t,o.MINIMUM_ROWS),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t,i){this._bufferService.scrollLines(e,t,i)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){const t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1;const t=this.optionsService.rawOptions.windowsPty;t&&void 0!==t.buildNumber&&void 0!==t.buildNumber?e=!!(\"conpty\"===t.backend&&t.buildNumber<21376):this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const e=[];e.push(this.onLineFeed(u.updateWindowsModeWrappedState.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:\"H\"},(()=>((0,u.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,s.toDisposable)((()=>{for(const t of e)t.dispose()}))}}}t.CoreTerminal=S},460:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.runAndSubscribe=t.forwardEvent=t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>{this._listeners.push(e);const t={dispose:()=>{if(!this._disposed)for(let t=0;t<this._listeners.length;t++)if(this._listeners[t]===e)return void this._listeners.splice(t,1)}};return t}),this._event}fire(e,t){const i=[];for(let e=0;e<this._listeners.length;e++)i.push(this._listeners[e]);for(let s=0;s<i.length;s++)i[s].call(void 0,e,t)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},t.forwardEvent=function(e,t){return e((e=>t.fire(e)))},t.runAndSubscribe=function(e,t){return t(void 0),e((e=>t(e)))}},435:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,a=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;const n=i(584),a=i(116),o=i(15),h=i(844),c=i(482),l=i(437),_=i(460),d=i(643),f=i(511),u=i(734),p=i(585),g=i(480),v=i(242),b=i(351),S=i(941),m={\"(\":0,\")\":1,\"*\":2,\"+\":3,\"-\":1,\".\":2},C=131072;function y(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var w;!function(e){e[e.GET_WIN_SIZE_PIXELS=0]=\"GET_WIN_SIZE_PIXELS\",e[e.GET_CELL_SIZE_PIXELS=1]=\"GET_CELL_SIZE_PIXELS\"}(w||(t.WindowsOptionsReportType=w={}));let B=0;class E extends h.Disposable{getAttrData(){return this._curAttrData}constructor(e,t,i,s,r,h,d,u,p=new o.EscapeSequenceParser){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._logService=s,this._optionsService=r,this._oscLinkService=h,this._coreMouseService=d,this._unicodeService=u,this._parser=p,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new c.StringToUtf32,this._utf8Decoder=new c.Utf8ToUtf32,this._workCell=new f.CellData,this._windowTitle=\"\",this._iconName=\"\",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=l.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=l.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new _.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new _.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new _.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new _.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new _.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new _.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new _.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new _.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new _.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new _.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new _.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new _.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new _.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new A(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._parser.setCsiHandlerFallback(((e,t)=>{this._logService.debug(\"Unknown CSI code: \",{identifier:this._parser.identToString(e),params:t.toArray()})})),this._parser.setEscHandlerFallback((e=>{this._logService.debug(\"Unknown ESC code: \",{identifier:this._parser.identToString(e)})})),this._parser.setExecuteHandlerFallback((e=>{this._logService.debug(\"Unknown EXECUTE code: \",{code:e})})),this._parser.setOscHandlerFallback(((e,t,i)=>{this._logService.debug(\"Unknown OSC code: \",{identifier:e,action:t,data:i})})),this._parser.setDcsHandlerFallback(((e,t,i)=>{\"HOOK\"===t&&(i=i.toArray()),this._logService.debug(\"Unknown DCS code: \",{identifier:this._parser.identToString(e),action:t,payload:i})})),this._parser.setPrintHandler(((e,t,i)=>this.print(e,t,i))),this._parser.registerCsiHandler({final:\"@\"},(e=>this.insertChars(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},(e=>this.scrollLeft(e))),this._parser.registerCsiHandler({final:\"A\"},(e=>this.cursorUp(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},(e=>this.scrollRight(e))),this._parser.registerCsiHandler({final:\"B\"},(e=>this.cursorDown(e))),this._parser.registerCsiHandler({final:\"C\"},(e=>this.cursorForward(e))),this._parser.registerCsiHandler({final:\"D\"},(e=>this.cursorBackward(e))),this._parser.registerCsiHandler({final:\"E\"},(e=>this.cursorNextLine(e))),this._parser.registerCsiHandler({final:\"F\"},(e=>this.cursorPrecedingLine(e))),this._parser.registerCsiHandler({final:\"G\"},(e=>this.cursorCharAbsolute(e))),this._parser.registerCsiHandler({final:\"H\"},(e=>this.cursorPosition(e))),this._parser.registerCsiHandler({final:\"I\"},(e=>this.cursorForwardTab(e))),this._parser.registerCsiHandler({final:\"J\"},(e=>this.eraseInDisplay(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},(e=>this.eraseInDisplay(e,!0))),this._parser.registerCsiHandler({final:\"K\"},(e=>this.eraseInLine(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},(e=>this.eraseInLine(e,!0))),this._parser.registerCsiHandler({final:\"L\"},(e=>this.insertLines(e))),this._parser.registerCsiHandler({final:\"M\"},(e=>this.deleteLines(e))),this._parser.registerCsiHandler({final:\"P\"},(e=>this.deleteChars(e))),this._parser.registerCsiHandler({final:\"S\"},(e=>this.scrollUp(e))),this._parser.registerCsiHandler({final:\"T\"},(e=>this.scrollDown(e))),this._parser.registerCsiHandler({final:\"X\"},(e=>this.eraseChars(e))),this._parser.registerCsiHandler({final:\"Z\"},(e=>this.cursorBackwardTab(e))),this._parser.registerCsiHandler({final:\"`\"},(e=>this.charPosAbsolute(e))),this._parser.registerCsiHandler({final:\"a\"},(e=>this.hPositionRelative(e))),this._parser.registerCsiHandler({final:\"b\"},(e=>this.repeatPrecedingCharacter(e))),this._parser.registerCsiHandler({final:\"c\"},(e=>this.sendDeviceAttributesPrimary(e))),this._parser.registerCsiHandler({prefix:\">\",final:\"c\"},(e=>this.sendDeviceAttributesSecondary(e))),this._parser.registerCsiHandler({final:\"d\"},(e=>this.linePosAbsolute(e))),this._parser.registerCsiHandler({final:\"e\"},(e=>this.vPositionRelative(e))),this._parser.registerCsiHandler({final:\"f\"},(e=>this.hVPosition(e))),this._parser.registerCsiHandler({final:\"g\"},(e=>this.tabClear(e))),this._parser.registerCsiHandler({final:\"h\"},(e=>this.setMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},(e=>this.setModePrivate(e))),this._parser.registerCsiHandler({final:\"l\"},(e=>this.resetMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},(e=>this.resetModePrivate(e))),this._parser.registerCsiHandler({final:\"m\"},(e=>this.charAttributes(e))),this._parser.registerCsiHandler({final:\"n\"},(e=>this.deviceStatus(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},(e=>this.deviceStatusPrivate(e))),this._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},(e=>this.softReset(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},(e=>this.setCursorStyle(e))),this._parser.registerCsiHandler({final:\"r\"},(e=>this.setScrollRegion(e))),this._parser.registerCsiHandler({final:\"s\"},(e=>this.saveCursor(e))),this._parser.registerCsiHandler({final:\"t\"},(e=>this.windowOptions(e))),this._parser.registerCsiHandler({final:\"u\"},(e=>this.restoreCursor(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},(e=>this.insertColumns(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},(e=>this.deleteColumns(e))),this._parser.registerCsiHandler({intermediates:'\"',final:\"q\"},(e=>this.selectProtected(e))),this._parser.registerCsiHandler({intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!0))),this._parser.registerCsiHandler({prefix:\"?\",intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!1))),this._parser.setExecuteHandler(n.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(n.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(n.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(n.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(n.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(n.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(n.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(n.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(n.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new v.OscHandler((e=>(this.setTitle(e),this.setIconName(e),!0)))),this._parser.registerOscHandler(1,new v.OscHandler((e=>this.setIconName(e)))),this._parser.registerOscHandler(2,new v.OscHandler((e=>this.setTitle(e)))),this._parser.registerOscHandler(4,new v.OscHandler((e=>this.setOrReportIndexedColor(e)))),this._parser.registerOscHandler(8,new v.OscHandler((e=>this.setHyperlink(e)))),this._parser.registerOscHandler(10,new v.OscHandler((e=>this.setOrReportFgColor(e)))),this._parser.registerOscHandler(11,new v.OscHandler((e=>this.setOrReportBgColor(e)))),this._parser.registerOscHandler(12,new v.OscHandler((e=>this.setOrReportCursorColor(e)))),this._parser.registerOscHandler(104,new v.OscHandler((e=>this.restoreIndexedColor(e)))),this._parser.registerOscHandler(110,new v.OscHandler((e=>this.restoreFgColor(e)))),this._parser.registerOscHandler(111,new v.OscHandler((e=>this.restoreBgColor(e)))),this._parser.registerOscHandler(112,new v.OscHandler((e=>this.restoreCursorColor(e)))),this._parser.registerEscHandler({final:\"7\"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:\"8\"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:\"D\"},(()=>this.index())),this._parser.registerEscHandler({final:\"E\"},(()=>this.nextLine())),this._parser.registerEscHandler({final:\"H\"},(()=>this.tabSet())),this._parser.registerEscHandler({final:\"M\"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:\"=\"},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:\">\"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:\"c\"},(()=>this.fullReset())),this._parser.registerEscHandler({final:\"n\"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:\"o\"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:\"|\"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:\"}\"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:\"~\"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:\"%\",final:\"@\"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:\"%\",final:\"G\"},(()=>this.selectDefaultCharset()));for(const e in a.CHARSETS)this._parser.registerEscHandler({intermediates:\"(\",final:e},(()=>this.selectCharset(\"(\"+e))),this._parser.registerEscHandler({intermediates:\")\",final:e},(()=>this.selectCharset(\")\"+e))),this._parser.registerEscHandler({intermediates:\"*\",final:e},(()=>this.selectCharset(\"*\"+e))),this._parser.registerEscHandler({intermediates:\"+\",final:e},(()=>this.selectCharset(\"+\"+e))),this._parser.registerEscHandler({intermediates:\"-\",final:e},(()=>this.selectCharset(\"-\"+e))),this._parser.registerEscHandler({intermediates:\".\",final:e},(()=>this.selectCharset(\".\"+e))),this._parser.registerEscHandler({intermediates:\"/\",final:e},(()=>this.selectCharset(\"/\"+e)));this._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((e=>(this._logService.error(\"Parsing error: \",e),e))),this._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new b.DcsHandler(((e,t)=>this.requestStatusString(e,t))))}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=p.LogLevelEnum.WARN&&Promise.race([e,new Promise(((e,t)=>setTimeout((()=>t(\"#SLOW_TIMEOUT\")),5e3)))]).catch((e=>{if(\"#SLOW_TIMEOUT\"!==e)throw e;console.warn(\"async parser handler taking longer than 5000 ms\")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0;const a=this._parseStack.paused;if(a){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>C&&(n=this._parseStack.position+C)}if(this._logService.logLevel<=p.LogLevelEnum.DEBUG&&this._logService.debug(\"parsing data\"+(\"string\"==typeof e?` \"${e}\"`:` \"${Array.prototype.map.call(e,(e=>String.fromCharCode(e))).join(\"\")}\"`),\"string\"==typeof e?e.split(\"\").map((e=>e.charCodeAt(0))):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<C&&(this._parseBuffer=new Uint32Array(Math.min(e.length,C))),a||this._dirtyRowTracker.clearRange(),e.length>C)for(let t=n;t<e.length;t+=C){const n=t+C<e.length?t+C:e.length,a=\"string\"==typeof e?this._stringDecoder.decode(e.substring(t,n),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,n),this._parseBuffer);if(i=this._parser.parse(this._parseBuffer,a))return this._preserveStack(s,r,a,t),this._logSlowResolvingAsync(i),i}else if(!a){const t=\"string\"==typeof e?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(i=this._parser.parse(this._parseBuffer,t))return this._preserveStack(s,r,t,0),this._logSlowResolvingAsync(i),i}this._activeBuffer.x===s&&this._activeBuffer.y===r||this._onCursorMove.fire();const o=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),h=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);h<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(h,this._bufferService.rows-1),Math.min(o,this._bufferService.rows-1))}print(e,t,i){let s,r;const n=this._charsetService.charset,a=this._optionsService.rawOptions.screenReaderMode,o=this._bufferService.cols,h=this._coreService.decPrivateModes.wraparound,_=this._coreService.modes.insertMode,f=this._curAttrData;let u=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&i-t>0&&2===u.getWidth(this._activeBuffer.x-1)&&u.setCellFromCodepoint(this._activeBuffer.x-1,0,1,f);let p=this._parser.precedingJoinState;for(let v=t;v<i;++v){if(s=e[v],s<127&&n){const e=n[String.fromCharCode(s)];e&&(s=e.charCodeAt(0))}const t=this._unicodeService.charProperties(s,p);r=g.UnicodeService.extractWidth(t);const i=g.UnicodeService.extractShouldJoin(t),b=i?g.UnicodeService.extractWidth(p):0;if(p=t,a&&this._onA11yChar.fire((0,c.stringFromCodePoint)(s)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+r-b>o)if(h){const e=u;let t=this._activeBuffer.x-b;for(this._activeBuffer.x=b,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),u=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),b>0&&u instanceof l.BufferLine&&u.copyCellsFrom(e,t,0,b,!1);t<o;)e.setCellFromCodepoint(t++,0,1,f)}else if(this._activeBuffer.x=o-1,2===r)continue;if(i&&this._activeBuffer.x){const e=u.getWidth(this._activeBuffer.x-1)?1:2;u.addCodepointToCell(this._activeBuffer.x-e,s,r);for(let e=r-b;--e>=0;)u.setCellFromCodepoint(this._activeBuffer.x++,0,0,f)}else if(_&&(u.insertCells(this._activeBuffer.x,r-b,this._activeBuffer.getNullCell(f)),2===u.getWidth(o-1)&&u.setCellFromCodepoint(o-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f)),u.setCellFromCodepoint(this._activeBuffer.x++,s,r,f),r>0)for(;--r;)u.setCellFromCodepoint(this._activeBuffer.x++,0,0,f)}this._parser.precedingJoinState=p,this._activeBuffer.x<o&&i-t>0&&0===u.getWidth(this._activeBuffer.x)&&!u.hasContent(this._activeBuffer.x)&&u.setCellFromCodepoint(this._activeBuffer.x,0,1,f),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return\"t\"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(e=>!y(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)))}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new b.DcsHandler(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new v.OscHandler(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){const t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){const t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){const t=e.params[0];return 0===t?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===t&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){const t=e.params[0];return 1===t&&(this._curAttrData.bg|=536870912),2!==t&&0!==t||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){const n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1)}eraseInDisplay(e,t=!1){let i;switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);i<this._bufferService.rows;i++)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(i);break;case 1:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 2:for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 3:const e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const i=this._activeBuffer.ybase+this._activeBuffer.y,s=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-s+1;for(;t--;)this._activeBuffer.lines.splice(r-1,1),this._activeBuffer.lines.splice(i,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const i=this._activeBuffer.ybase+this._activeBuffer.y;let s;for(s=this._bufferService.rows-1-this._activeBuffer.scrollBottom,s=this._bufferService.rows-1+this._activeBuffer.ybase-s;t--;)this._activeBuffer.lines.splice(i,1),this._activeBuffer.lines.splice(s,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(l.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){const t=this._parser.precedingJoinState;if(!t)return!0;const i=e.params[0]||1,s=g.UnicodeService.extractWidth(t),r=this._activeBuffer.x-s,n=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(r),a=new Uint32Array(n.length*i);let o=0;for(let e=0;e<n.length;){const t=n.codePointAt(e)||0;a[o++]=t,e+=t>65535?2:1}let h=o;for(let e=1;e<i;++e)a.copyWithin(h,0,o),h+=o;return this.print(a,0,h),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[?6c\")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[>83;40003;0c\")),!0}_is(e){return 0===(this._optionsService.rawOptions.termName+\"\").indexOf(e)}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,a.DEFAULT_CHARSET),this._charsetService.setgCharset(1,a.DEFAULT_CHARSET),this._charsetService.setgCharset(2,a.DEFAULT_CHARSET),this._charsetService.setgCharset(3,a.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=\"X10\";break;case 1e3:this._coreMouseService.activeProtocol=\"VT200\";break;case 1002:this._coreMouseService.activeProtocol=\"DRAG\";break;case 1003:this._coreMouseService.activeProtocol=\"ANY\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(\"DECSET 1005 not supported (see #2507)\");break;case 1006:this._coreMouseService.activeEncoding=\"SGR\";break;case 1015:this._logService.debug(\"DECSET 1015 not supported (see #2507)\");break;case 1016:this._coreMouseService.activeEncoding=\"SGR_PIXELS\";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=\"NONE\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(\"DECRST 1005 not supported (see #2507)\");break;case 1006:case 1016:this._coreMouseService.activeEncoding=\"DEFAULT\";break;case 1015:this._logService.debug(\"DECRST 1015 not supported (see #2507)\");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),1049===e.params[t]&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(e,t){const i=this._coreService.decPrivateModes,{activeProtocol:s,activeEncoding:r}=this._coreMouseService,a=this._coreService,{buffers:o,cols:h}=this._bufferService,{active:c,alt:l}=o,_=this._optionsService.rawOptions,d=e=>e?1:2,f=e.params[0];return u=f,p=t?2===f?4:4===f?d(a.modes.insertMode):12===f?3:20===f?d(_.convertEol):0:1===f?d(i.applicationCursorKeys):3===f?_.windowOptions.setWinLines?80===h?2:132===h?1:0:0:6===f?d(i.origin):7===f?d(i.wraparound):8===f?3:9===f?d(\"X10\"===s):12===f?d(_.cursorBlink):25===f?d(!a.isCursorHidden):45===f?d(i.reverseWraparound):66===f?d(i.applicationKeypad):67===f?4:1e3===f?d(\"VT200\"===s):1002===f?d(\"DRAG\"===s):1003===f?d(\"ANY\"===s):1004===f?d(i.sendFocus):1005===f?4:1006===f?d(\"SGR\"===r):1015===f?4:1016===f?d(\"SGR_PIXELS\"===r):1048===f?1:47===f||1047===f||1049===f?d(c===l):2004===f?d(i.bracketedPasteMode):0,a.triggerDataEvent(`${n.C0.ESC}[${t?\"\":\"?\"}${u};${p}$y`),!0;var u,p}_updateAttrColor(e,t,i,s,r){return 2===t?(e|=50331648,e&=-16777216,e|=u.AttributeData.fromColorRGB([i,s,r])):5===t&&(e&=-50331904,e|=33554432|255&i),e}_extractColor(e,t,i){const s=[0,0,-1,0,0,0];let r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){const i=e.getSubParams(t+n);let a=0;do{5===s[1]&&(r=1),s[n+a+1+r]=i[a]}while(++a<i.length&&a+n+1+r<s.length);break}if(5===s[1]&&n+r>=2||2===s[1]&&n+r>=5)break;s[1]&&(r=1)}while(++n+t<e.length&&n+r<s.length);for(let e=2;e<s.length;++e)-1===s[e]&&(s[e]=0);switch(s[0]){case 38:i.fg=this._updateAttrColor(i.fg,s[1],s[3],s[4],s[5]);break;case 48:i.bg=this._updateAttrColor(i.bg,s[1],s[3],s[4],s[5]);break;case 58:i.extended=i.extended.clone(),i.extended.underlineColor=this._updateAttrColor(i.extended.underlineColor,s[1],s[3],s[4],s[5])}return n}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=l.DEFAULT_ATTR_DATA.fg,e.bg=l.DEFAULT_ATTR_DATA.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(1===e.length&&0===e.params[0])return this._processSGR0(this._curAttrData),!0;const t=e.length;let i;const s=this._curAttrData;for(let r=0;r<t;r++)i=e.params[r],i>=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777224|i-90):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777224|i-100):0===i?this._processSGR0(s):1===i?s.fg|=134217728:3===i?s.bg|=67108864:4===i?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):5===i?s.fg|=536870912:7===i?s.fg|=67108864:8===i?s.fg|=1073741824:9===i?s.fg|=2147483648:2===i?s.bg|=134217728:21===i?this._processUnderline(2,s):22===i?(s.fg&=-134217729,s.bg&=-134217729):23===i?s.bg&=-67108865:24===i?(s.fg&=-268435457,this._processUnderline(0,s)):25===i?s.fg&=-536870913:27===i?s.fg&=-67108865:28===i?s.fg&=-1073741825:29===i?s.fg&=2147483647:39===i?(s.fg&=-67108864,s.fg|=16777215&l.DEFAULT_ATTR_DATA.fg):49===i?(s.bg&=-67108864,s.bg|=16777215&l.DEFAULT_ATTR_DATA.bg):38===i||48===i||58===i?r+=this._extractColor(e,r,s):53===i?s.bg|=1073741824:55===i?s.bg&=-1073741825:59===i?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):100===i?(s.fg&=-67108864,s.fg|=16777215&l.DEFAULT_ATTR_DATA.fg,s.bg&=-67108864,s.bg|=16777215&l.DEFAULT_ATTR_DATA.bg):this._logService.debug(\"Unknown SGR attribute: %d.\",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${n.C0.ESC}[0n`);break;case 6:const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(6===e.params[0]){const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=l.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){const t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle=\"block\";break;case 3:case 4:this._optionsService.options.cursorStyle=\"underline\";break;case 5:case 6:this._optionsService.options.cursorStyle=\"bar\"}const i=t%2==1;return this._optionsService.options.cursorBlink=i,!0}setScrollRegion(e){const t=e.params[0]||1;let i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||0===i)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!y(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;const t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(w.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(w.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${n.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){const t=[],i=e.split(\";\");for(;i.length>1;){const e=i.shift(),s=i.shift();if(/^\\d+$/.exec(e)){const i=parseInt(e);if(L(i))if(\"?\"===s)t.push({type:0,index:i});else{const e=(0,S.parseColor)(s);e&&t.push({type:1,index:i,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){const t=e.split(\";\");return!(t.length<2)&&(t[1]?this._createHyperlink(t[0],t[1]):!t[0]&&this._finishHyperlink())}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();const i=e.split(\":\");let s;const r=i.findIndex((e=>e.startsWith(\"id=\")));return-1!==r&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){const i=e.split(\";\");for(let e=0;e<i.length&&!(t>=this._specialColors.length);++e,++t)if(\"?\"===i[e])this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{const s=(0,S.parseColor)(i[e]);s&&this._onColor.fire([{type:1,index:this._specialColors[t],color:s}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;const t=[],i=e.split(\";\");for(let e=0;e<i.length;++e)if(/^\\d+$/.exec(i[e])){const s=parseInt(i[e]);L(s)&&t.push({type:2,index:s})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET),!0}selectCharset(e){return 2!==e.length?(this.selectDefaultCharset(),!0):(\"/\"===e[0]||this._charsetService.setgCharset(m[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=l.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=l.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){const e=new f.CellData;e.content=1<<22|\"E\".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){const i=this._activeBuffer.ybase+this._activeBuffer.y+t,s=this._activeBuffer.lines.get(i);s&&(s.fill(e),s.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){const i=this._bufferService.buffer,s=this._optionsService.rawOptions;return(e=>(this._coreService.triggerDataEvent(`${n.C0.ESC}${e}${n.C0.ESC}\\\\`),!0))('\"q'===e?`P1$r${this._curAttrData.isProtected()?1:0}\"q`:'\"p'===e?'P1$r61;1\"p':\"r\"===e?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:\"m\"===e?\"P1$r0m\":\" q\"===e?`P1$r${{block:2,underline:4,bar:6}[s.cursorStyle]-(s.cursorBlink?1:0)} q`:\"P0$r\")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}}t.InputHandler=E;let A=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(B=e,e=t,t=B),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function L(e){return 0<=e&&e<256}A=s([r(0,p.IBufferService)],A)},844:(e,t)=>{function i(e){for(const t of e)t.dispose();e.length=0}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.toDisposable=t.MutableDisposable=t.Disposable=void 0,t.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const e of this._disposables)e.dispose();this._disposables.length=0}register(e){return this._disposables.push(e),e}unregister(e){const t=this._disposables.indexOf(e);-1!==t&&this._disposables.splice(t,1)}},t.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},t.toDisposable=function(e){return{dispose:e}},t.disposeArray=i,t.getDisposeArrayDisposable=function(e){return{dispose:()=>i(e)}}},114:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isChromeOS=t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.getSafariVersion=t.isSafari=t.isLegacyEdge=t.isFirefox=t.isNode=void 0,t.isNode=\"undefined\"!=typeof process&&\"title\"in process;const i=t.isNode?\"node\":navigator.userAgent,s=t.isNode?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isLegacyEdge=i.includes(\"Edge\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.getSafariVersion=function(){if(!t.isSafari)return 0;const e=i.match(/Version\\/(\\d+)/);return null===e||e.length<2?0:parseInt(e[1])},t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(s),t.isIpad=\"iPad\"===s,t.isIphone=\"iPhone\"===s,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(s),t.isLinux=s.indexOf(\"Linux\")>=0,t.isChromeOS=/\\bCrOS\\b/.test(i)},226:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebouncedIdleTask=t.IdleTaskQueue=t.PriorityTaskQueue=void 0;const s=i(114);class r{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let t=0,i=0,s=e.timeRemaining(),r=0;for(;this._i<this._tasks.length;){if(t=Date.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,Date.now()-t),i=Math.max(t,i),r=e.timeRemaining(),1.5*i>r)return s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),void this._start();s=r}this.clear()}}class n extends r{_requestCallback(e){return setTimeout((()=>e(this._createDeadline(16))))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){const t=Date.now()+e;return{timeRemaining:()=>Math.max(0,t-Date.now())}}}t.PriorityTaskQueue=n,t.IdleTaskQueue=!s.isNode&&\"requestIdleCallback\"in window?class extends r{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}}:n,t.DebouncedIdleTask=class{constructor(){this._queue=new t.IdleTaskQueue}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}}},282:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateWindowsModeWrappedState=void 0;const s=i(643);t.updateWindowsModeWrappedState=function(e){const t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),i=t?.get(e.cols-1),r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);r&&i&&(r.isWrapped=i[s.CHAR_DATA_CODE_INDEX]!==s.NULL_CELL_CODE&&i[s.CHAR_DATA_CODE_INDEX]!==s.WHITESPACE_CELL_CODE)}},734:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return 50331648==(50331648&this.fg)}isBgRGB(){return 50331648==(50331648&this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return 0==(50331648&this.fg)}isBgDefault(){return 0==(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}t.AttributeData=i;class s{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){const e=(3758096384&this._ext)>>29;return e<0?4294967288^e:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},92:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Buffer=t.MAX_BUFFER_SIZE=void 0;const s=i(349),r=i(226),n=i(734),a=i(437),o=i(634),h=i(511),c=i(643),l=i(863),_=i(116);t.MAX_BUFFER_SIZE=4294967295,t.Buffer=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=a.DEFAULT_ATTR_DATA.clone(),this.savedCharset=_.DEFAULT_CHARSET,this.markers=[],this._nullCell=h.CellData.fromCharData([0,c.NULL_CELL_CHAR,c.NULL_CELL_WIDTH,c.NULL_CELL_CODE]),this._whitespaceCell=h.CellData.fromCharData([0,c.WHITESPACE_CELL_CHAR,c.WHITESPACE_CELL_WIDTH,c.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new r.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new n.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new n.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new a.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;const i=e+this._optionsService.rawOptions.scrollback;return i>t.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:i}fillViewportRows(e){if(0===this.lines.length){void 0===e&&(e=a.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const i=this.getNullCell(a.DEFAULT_ATTR_DATA);let s=0;const r=this._getCorrectBufferLength(t);if(r>this.lines.maxLength&&(this.lines.maxLength=r),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)s+=+this.lines.get(t).resize(e,i);let n=0;if(this._rows<t)for(let s=this._rows;s<t;s++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||void 0!==this._optionsService.rawOptions.windowsPty.backend||void 0!==this._optionsService.rawOptions.windowsPty.buildNumber?this.lines.push(new a.BufferLine(e,i)):this.ybase>0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new a.BufferLine(e,i)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r<this.lines.maxLength){const e=this.lines.length-r;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=r}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)s+=+this.lines.get(t).resize(e,i);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),s>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){const e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&\"conpty\"===e.backend&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const i=(0,o.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(a.DEFAULT_ATTR_DATA));if(i.length>0){const s=(0,o.reflowLargerCreateNewLayout)(this.lines,i);(0,o.reflowLargerApplyNewLayout)(this.lines,s.layout),this._reflowLargerAdjustViewport(e,t,s.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){const s=this.getNullCell(a.DEFAULT_ATTR_DATA);let r=i;for(;r-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new a.BufferLine(e,s))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-i,0)}_reflowSmaller(e,t){const i=this.getNullCell(a.DEFAULT_ATTR_DATA),s=[];let r=0;for(let n=this.lines.length-1;n>=0;n--){let h=this.lines.get(n);if(!h||!h.isWrapped&&h.getTrimmedLength()<=e)continue;const c=[h];for(;h.isWrapped&&n>0;)h=this.lines.get(--n),c.unshift(h);const l=this.ybase+this.y;if(l>=n&&l<n+c.length)continue;const _=c[c.length-1].getTrimmedLength(),d=(0,o.reflowSmallerGetNewLineLengths)(c,this._cols,e),f=d.length-c.length;let u;u=0===this.ybase&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+f):Math.max(0,this.lines.length-this.lines.maxLength+f);const p=[];for(let e=0;e<f;e++){const e=this.getBlankLine(a.DEFAULT_ATTR_DATA,!0);p.push(e)}p.length>0&&(s.push({start:n+c.length+r,newLines:p}),r+=p.length),c.push(...p);let g=d.length-1,v=d[g];0===v&&(g--,v=d[g]);let b=c.length-f-1,S=_;for(;b>=0;){const e=Math.min(S,v);if(void 0===c[g])break;if(c[g].copyCellsFrom(c[b],S-e,v-e,e,!0),v-=e,0===v&&(g--,v=d[g]),S-=e,0===S){b--;const e=Math.max(b,0);S=(0,o.getWrappedLineTrimmedLength)(c,e,this._cols)}}for(let t=0;t<c.length;t++)d[t]<e&&c[t].setCell(d[t],i);let m=f-u;for(;m-- >0;)0===this.ybase?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+r)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+f,this.ybase+t-1)}if(s.length>0){const e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));const i=this.lines.length;let n=i-1,a=0,o=s[a];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+r);let h=0;for(let c=Math.min(this.lines.maxLength-1,i+r-1);c>=0;c--)if(o&&o.start>n+h){for(let e=o.newLines.length-1;e>=0;e--)this.lines.set(c--,o.newLines[e]);c++,e.push({index:n+1,amount:o.newLines.length}),h+=o.newLines.length,o=s[++a]}else this.lines.set(c,t[n--]);let c=0;for(let t=e.length-1;t>=0;t--)e[t].index+=c,this.lines.onInsertEmitter.fire(e[t]),c+=e[t].amount;const l=Math.max(0,i+r-this.lines.maxLength);l>0&&this.lines.onTrimEmitter.fire(l)}}translateBufferLineToString(e,t,i=0,s){const r=this.lines.get(e);return r?r.translateToString(t,i,s):\"\"}getWrappedRangeForLine(e){let t=e,i=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;i+1<this.lines.length&&this.lines.get(i+1).isWrapped;)i++;return{first:t,last:i}}setupTabStops(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(null==e&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose(),this.markers.splice(e--,1);this._isClearing=!1}addMarker(e){const t=new l.Marker(e);return this.markers.push(t),t.register(this.lines.onTrim((e=>{t.line-=e,t.line<0&&t.dispose()}))),t.register(this.lines.onInsert((e=>{t.line>=e.index&&(t.line+=e.amount)}))),t.register(this.lines.onDelete((e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)}))),t.register(t.onDispose((()=>this._removeMarker(t)))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}}},437:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;const s=i(734),r=i(511),n=i(643),a=i(482);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);let o=0;class h{constructor(e,t,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);const s=t||r.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]);for(let t=0;t<e;++t)this.setCell(t,s);this.length=e}get(e){const t=this._data[3*e+0],i=2097151&t;return[this._data[3*e+1],2097152&t?this._combined[e]:i?(0,a.stringFromCodePoint)(i):\"\",t>>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 12582912&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?(0,a.stringFromCodePoint)(2097151&t):\"\"}isProtected(e){return 536870912&this._data[3*e+2]}loadCell(e,t){return o=3*e,t.content=this._data[o+0],t.fg=this._data[o+1],t.bg=this._data[o+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg}setCellFromCodepoint(e,t,i,s){268435456&s.bg&&(this._extendedAttrs[e]=s.extended),this._data[3*e+0]=t|i<<22,this._data[3*e+1]=s.fg,this._data[3*e+2]=s.bg}addCodepointToCell(e,t,i){let s=this._data[3*e+0];2097152&s?this._combined[e]+=(0,a.stringFromCodePoint)(t):2097151&s?(this._combined[e]=(0,a.stringFromCodePoint)(2097151&s)+(0,a.stringFromCodePoint)(t),s&=-2097152,s|=2097152):s=t|1<<22,i&&(s&=-12582913,s|=i<<22),this._data[3*e+0]=s}insertCells(e,t,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length-e){const s=new r.CellData;for(let i=this.length-e-t-1;i>=0;--i)this.setCell(e+t+i,this.loadCell(e+i,s));for(let s=0;s<t;++s)this.setCell(e+s,i)}else for(let t=e;t<this.length;++t)this.setCell(t,i);2===this.getWidth(this.length-1)&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(e,t,i){if(e%=this.length,t<this.length-e){const s=new r.CellData;for(let i=0;i<this.length-e-t;++i)this.setCell(e+i,this.loadCell(e+t+i,s));for(let e=this.length-t;e<this.length;++e)this.setCell(e,i)}else for(let t=e;t<this.length;++t)this.setCell(t,i);e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),0!==this.getWidth(e)||this.hasContent(e)||this.setCellFromCodepoint(e,0,1,i)}replaceCells(e,t,i,s=!1){if(s)for(e&&2===this.getWidth(e-1)&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length&&2===this.getWidth(t-1)&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,i);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,i),e++;else for(e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length&&2===this.getWidth(t-1)&&this.setCellFromCodepoint(t,0,1,i);e<t&&e<this.length;)this.setCell(e++,i)}resize(e,t){if(e===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const i=3*e;if(e>this.length){if(this._data.buffer.byteLength>=4*i)this._data=new Uint32Array(this._data.buffer,0,i);else{const e=new Uint32Array(i);e.set(this._data),this._data=e}for(let i=this.length;i<e;++i)this.setCell(i,t)}else{this._data=this._data.subarray(0,i);const t=Object.keys(this._combined);for(let i=0;i<t.length;i++){const s=parseInt(t[i],10);s>=e&&delete this._combined[s]}const s=Object.keys(this._extendedAttrs);for(let t=0;t<s.length;t++){const i=parseInt(s[t],10);i>=e&&delete this._extendedAttrs[i]}}return this.length=e,4*i*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t)for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);else{this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}}copyFrom(e){this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={};for(const t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(const t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){const e=new h(0);e._data=new Uint32Array(this._data),e.length=this.length;for(const t in this._combined)e._combined[t]=this._combined[t];for(const t in this._extendedAttrs)e._extendedAttrs[t]=this._extendedAttrs[t];return e.isWrapped=this.isWrapped,e}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0]||50331648&this._data[3*e+2])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,t,i,s,r){const n=e._data;if(r)for(let r=s-1;r>=0;r--){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}else for(let r=0;r<s;r++){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}const a=Object.keys(e._combined);for(let s=0;s<a.length;s++){const r=parseInt(a[s],10);r>=t&&(this._combined[r-t+i]=e._combined[r])}}translateToString(e,t,i,s){t=t??0,i=i??this.length,e&&(i=Math.min(i,this.getTrimmedLength())),s&&(s.length=0);let r=\"\";for(;t<i;){const e=this._data[3*t+0],i=2097151&e,o=2097152&e?this._combined[t]:i?(0,a.stringFromCodePoint)(i):n.WHITESPACE_CELL_CHAR;if(r+=o,s)for(let e=0;e<o.length;++e)s.push(t);t+=e>>22||1}return s&&s.push(t),r}}t.BufferLine=h},634:(e,t)=>{function i(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();const s=!e[t].hasContent(i-1)&&1===e[t].getWidth(i-1),r=2===e[t+1].getWidth(0);return s&&r?i-1:i}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,s,r,n){const a=[];for(let o=0;o<e.length-1;o++){let h=o,c=e.get(++h);if(!c.isWrapped)continue;const l=[e.get(o)];for(;h<e.length&&c.isWrapped;)l.push(c),c=e.get(++h);if(r>=o&&r<h){o+=l.length-1;continue}let _=0,d=i(l,_,t),f=1,u=0;for(;f<l.length;){const e=i(l,f,t),r=e-u,a=s-d,o=Math.min(r,a);l[_].copyCellsFrom(l[f],u,d,o,!1),d+=o,d===s&&(_++,d=0),u+=o,u===e&&(f++,u=0),0===d&&0!==_&&2===l[_-1].getWidth(s-1)&&(l[_].copyCellsFrom(l[_-1],s-1,d++,1,!1),l[_-1].setCell(s-1,n))}l[_].replaceCells(d,s,n);let p=0;for(let e=l.length-1;e>0&&(e>_||0===l[e].getTrimmedLength());e--)p++;p>0&&(a.push(o+l.length-p),a.push(p)),o+=l.length-1}return a},t.reflowLargerCreateNewLayout=function(e,t){const i=[];let s=0,r=t[s],n=0;for(let a=0;a<e.length;a++)if(r===a){const i=t[++s];e.onDeleteEmitter.fire({index:a-n,amount:i}),a+=i-1,n+=i,r=t[++s]}else i.push(a);return{layout:i,countRemoved:n}},t.reflowLargerApplyNewLayout=function(e,t){const i=[];for(let s=0;s<t.length;s++)i.push(e.get(t[s]));for(let t=0;t<i.length;t++)e.set(t,i[t]);e.length=t.length},t.reflowSmallerGetNewLineLengths=function(e,t,s){const r=[],n=e.map(((s,r)=>i(e,r,t))).reduce(((e,t)=>e+t));let a=0,o=0,h=0;for(;h<n;){if(n-h<s){r.push(n-h);break}a+=s;const c=i(e,o,t);a>c&&(a-=c,o++);const l=2===e[o].getWidth(a-1);l&&a--;const _=l?s-1:s;r.push(_),h+=_}return r},t.getWrappedLineTrimmedLength=i},295:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferSet=void 0;const s=i(460),r=i(844),n=i(92);class a extends r.Disposable{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this.register(new s.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange(\"scrollback\",(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this.register(this._optionsService.onSpecificOptionChange(\"tabStopWidth\",(()=>this.setupTabStops())))}reset(){this._normal=new n.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new n.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}}t.BufferSet=a},511:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;const s=i(482),r=i(643),n=i(734);class a extends n.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n.ExtendedAttrs,this.combinedData=\"\"}static fromCharData(e){const t=new a;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=a},643:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=0,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},863:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Marker=void 0;const s=i(460),r=i(844);class n{get id(){return this._id}constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=n._nextId++,this._onDispose=this.register(new s.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,r.disposeArray)(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}}t.Marker=n,n._nextId=1},116:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={\"`\":\"◆\",a:\"▒\",b:\"␉\",c:\"␌\",d:\"␍\",e:\"␊\",f:\"°\",g:\"±\",h:\"␤\",i:\"␋\",j:\"┘\",k:\"┐\",l:\"┌\",m:\"└\",n:\"┼\",o:\"⎺\",p:\"⎻\",q:\"─\",r:\"⎼\",s:\"⎽\",t:\"├\",u:\"┤\",v:\"┴\",w:\"┬\",x:\"│\",y:\"≤\",z:\"≥\",\"{\":\"π\",\"|\":\"≠\",\"}\":\"£\",\"~\":\"·\"},t.CHARSETS.A={\"#\":\"£\"},t.CHARSETS.B=void 0,t.CHARSETS[4]={\"#\":\"£\",\"@\":\"¾\",\"[\":\"ij\",\"\\\\\":\"½\",\"]\":\"|\",\"{\":\"¨\",\"|\":\"f\",\"}\":\"¼\",\"~\":\"´\"},t.CHARSETS.C=t.CHARSETS[5]={\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.R={\"#\":\"£\",\"@\":\"à\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"§\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"¨\"},t.CHARSETS.Q={\"@\":\"à\",\"[\":\"â\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",\"`\":\"ô\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"û\"},t.CHARSETS.K={\"@\":\"§\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Ü\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"ß\"},t.CHARSETS.Y={\"#\":\"£\",\"@\":\"§\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"é\",\"`\":\"ù\",\"{\":\"à\",\"|\":\"ò\",\"}\":\"è\",\"~\":\"ì\"},t.CHARSETS.E=t.CHARSETS[6]={\"@\":\"Ä\",\"[\":\"Æ\",\"\\\\\":\"Ø\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"ä\",\"{\":\"æ\",\"|\":\"ø\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.Z={\"#\":\"£\",\"@\":\"§\",\"[\":\"¡\",\"\\\\\":\"Ñ\",\"]\":\"¿\",\"{\":\"°\",\"|\":\"ñ\",\"}\":\"ç\"},t.CHARSETS.H=t.CHARSETS[7]={\"@\":\"É\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS[\"=\"]={\"#\":\"ù\",\"@\":\"à\",\"[\":\"é\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",_:\"è\",\"`\":\"ô\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"û\"}},584:(e,t)=>{var i,s,r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.C1_ESCAPED=t.C1=t.C0=void 0,function(e){e.NUL=\"\\0\",e.SOH=\"\u0001\",e.STX=\"\u0002\",e.ETX=\"\u0003\",e.EOT=\"\u0004\",e.ENQ=\"\u0005\",e.ACK=\"\u0006\",e.BEL=\"\u0007\",e.BS=\"\\b\",e.HT=\"\\t\",e.LF=\"\\n\",e.VT=\"\\v\",e.FF=\"\\f\",e.CR=\"\\r\",e.SO=\"\u000e\",e.SI=\"\u000f\",e.DLE=\"\u0010\",e.DC1=\"\u0011\",e.DC2=\"\u0012\",e.DC3=\"\u0013\",e.DC4=\"\u0014\",e.NAK=\"\u0015\",e.SYN=\"\u0016\",e.ETB=\"\u0017\",e.CAN=\"\u0018\",e.EM=\"\u0019\",e.SUB=\"\u001a\",e.ESC=\"\u001b\",e.FS=\"\u001c\",e.GS=\"\u001d\",e.RS=\"\u001e\",e.US=\"\u001f\",e.SP=\" \",e.DEL=\"\"}(i||(t.C0=i={})),function(e){e.PAD=\"€\",e.HOP=\"\",e.BPH=\"‚\",e.NBH=\"ƒ\",e.IND=\"„\",e.NEL=\"…\",e.SSA=\"†\",e.ESA=\"‡\",e.HTS=\"ˆ\",e.HTJ=\"‰\",e.VTS=\"Š\",e.PLD=\"‹\",e.PLU=\"Œ\",e.RI=\"\",e.SS2=\"Ž\",e.SS3=\"\",e.DCS=\"\",e.PU1=\"‘\",e.PU2=\"’\",e.STS=\"“\",e.CCH=\"”\",e.MW=\"•\",e.SPA=\"–\",e.EPA=\"—\",e.SOS=\"˜\",e.SGCI=\"™\",e.SCI=\"š\",e.CSI=\"›\",e.ST=\"œ\",e.OSC=\"\",e.PM=\"ž\",e.APC=\"Ÿ\"}(s||(t.C1=s={})),function(e){e.ST=`${i.ESC}\\\\`}(r||(t.C1_ESCAPED=r={}))},482:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s=\"\";for(let r=t;r<i;++r){let t=e[r];t>65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let n=r;n<i;++n){const r=e.charCodeAt(n);if(55296<=r&&r<=56319){if(++n>=i)return this._interim=r,s;const a=e.charCodeAt(n);56320<=a&&a<=57343?t[s++]=1024*(r-55296)+a-56320+65536:(t[s++]=r,t[s++]=a)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,n,a,o=0,h=0,c=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let n,a=0;for(;(n=63&this.interim[++a])&&a<4;)r<<=6,r|=n;const h=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,l=h-a;for(;c<l;){if(c>=i)return 0;if(n=e[c++],128!=(192&n)){c--,s=!0;break}this.interim[a++]=n,r<<=6,r|=63&n}s||(2===h?r<128?c--:t[o++]=r:3===h?r<2048||r>=55296&&r<=57343||65279===r||(t[o++]=r):r<65536||r>1114111||(t[o++]=r)),this.interim.fill(0)}const l=i-4;let _=c;for(;_<i;){for(;!(!(_<l)||128&(s=e[_])||128&(r=e[_+1])||128&(n=e[_+2])||128&(a=e[_+3]));)t[o++]=s,t[o++]=r,t[o++]=n,t[o++]=a,_+=4;if(s=e[_++],s<128)t[o++]=s;else if(192==(224&s)){if(_>=i)return this.interim[0]=s,o;if(r=e[_++],128!=(192&r)){_--;continue}if(h=(31&s)<<6|63&r,h<128){_--;continue}t[o++]=h}else if(224==(240&s)){if(_>=i)return this.interim[0]=s,o;if(r=e[_++],128!=(192&r)){_--;continue}if(_>=i)return this.interim[0]=s,this.interim[1]=r,o;if(n=e[_++],128!=(192&n)){_--;continue}if(h=(15&s)<<12|(63&r)<<6|63&n,h<2048||h>=55296&&h<=57343||65279===h)continue;t[o++]=h}else if(240==(248&s)){if(_>=i)return this.interim[0]=s,o;if(r=e[_++],128!=(192&r)){_--;continue}if(_>=i)return this.interim[0]=s,this.interim[1]=r,o;if(n=e[_++],128!=(192&n)){_--;continue}if(_>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=n,o;if(a=e[_++],128!=(192&a)){_--;continue}if(h=(7&s)<<18|(63&r)<<12|(63&n)<<6|63&a,h<65536||h>1114111)continue;t[o++]=h}}return o}}},225:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeV6=void 0;const s=i(480),r=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],n=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let a;t.UnicodeV6=class{constructor(){if(this.version=\"6\",!a){a=new Uint8Array(65536),a.fill(1),a[0]=0,a.fill(0,1,32),a.fill(0,127,160),a.fill(2,4352,4448),a[9001]=2,a[9002]=2,a.fill(2,11904,42192),a[12351]=1,a.fill(2,44032,55204),a.fill(2,63744,64256),a.fill(2,65040,65050),a.fill(2,65072,65136),a.fill(2,65280,65377),a.fill(2,65504,65511);for(let e=0;e<r.length;++e)a.fill(0,r[e][0],r[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?a[e]:function(e,t){let i,s=0,r=t.length-1;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=s;)if(i=s+r>>1,e>t[i][1])s=i+1;else{if(!(e<t[i][0]))return!0;r=i-1}return!1}(e,n)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let i=this.wcwidth(e),r=0===i&&0!==t;if(r){const e=s.UnicodeService.extractWidth(t);0===e?r=!1:e>i&&(i=e)}return s.UnicodeService.createPropertyValue(0,i,r)}}},981:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WriteBuffer=void 0;const s=i(460),r=i(844);class n extends r.Disposable{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new s.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(void 0!==t&&this._syncCalls>t)return void(this._syncCalls=0);if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let i;for(this._isSyncWriting=!0;i=this._writeBuffer.shift();){this._action(i);const e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>5e7)throw new Error(\"write data discarded, use flow control to avoid losing data\");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){const i=e||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const e=this._writeBuffer[this._bufferOffset],s=this._action(e,t);if(s){const e=e=>Date.now()-i>=12?setTimeout((()=>this._innerWrite(0,e))):this._innerWrite(i,e);return void s.catch((e=>(queueMicrotask((()=>{throw e})),Promise.resolve(!1)))).then(e)}const r=this._callbacks[this._bufferOffset];if(r&&r(),this._bufferOffset++,this._pendingData-=e.length,Date.now()-i>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}t.WriteBuffer=n},941:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.toRgbString=t.parseColor=void 0;const i=/^([\\da-f])\\/([\\da-f])\\/([\\da-f])$|^([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})$|^([\\da-f]{3})\\/([\\da-f]{3})\\/([\\da-f]{3})$|^([\\da-f]{4})\\/([\\da-f]{4})\\/([\\da-f]{4})$/,s=/^[\\da-f]+$/;function r(e,t){const i=e.toString(16),s=i.length<2?\"0\"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}t.parseColor=function(e){if(!e)return;let t=e.toLowerCase();if(0===t.indexOf(\"rgb:\")){t=t.slice(4);const e=i.exec(t);if(e){const t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(0===t.indexOf(\"#\")&&(t=t.slice(1),s.exec(t)&&[3,6,9,12].includes(t.length))){const e=t.length/3,i=[0,0,0];for(let s=0;s<3;++s){const r=parseInt(t.slice(e*s,e*s+e),16);i[s]=1===e?r<<4:2===e?r:3===e?r>>4:r>>8}return i}},t.toRgbString=function(e,t=16){const[i,s,n]=e;return`rgb:${r(i,t)}/${r(s,t)}/${r(n,t)}`}},770:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},351:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DcsHandler=t.DcsParser=void 0;const s=i(482),r=i(742),n=i(770),a=[];t.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=a,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=a}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=a,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||a,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t);else this._handlerFb(this._ident,\"HOOK\",t)}put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._ident,\"PUT\",(0,s.utf32ToString)(e,t,i))}unhook(e,t=!0){if(this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].unhook(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,\"UNHOOK\",e);this._active=a,this._ident=0}};const o=new r.Params;o.addParam(0),t.DcsHandler=class{constructor(e){this._handler=e,this._data=\"\",this._params=o,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():o,this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,s.utf32ToString)(e,t,i),this._data.length>n.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then((e=>(this._params=o,this._data=\"\",this._hitLimit=!1,e)));return this._params=o,this._data=\"\",this._hitLimit=!1,t}}},15:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;const s=i(844),r=i(742),n=i(242),a=i(351);class o{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;r<e.length;r++)this.table[t<<8|e[r]]=i<<4|s}}t.TransitionTable=o;const h=160;t.VT500_TRANSITION_TABLE=function(){const e=new o(4095),t=Array.apply(null,Array(256)).map(((e,t)=>t)),i=(e,i)=>t.slice(e,i),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));const n=i(0,14);let a;for(a in e.setDefault(1,0),e.addMany(s,0,2,0),n)e.addMany([24,26,153,154],a,3,0),e.addMany(i(128,144),a,3,0),e.addMany(i(144,152),a,3,0),e.add(156,a,0,0),e.add(27,a,11,1),e.add(157,a,4,8),e.addMany([152,158,159],a,0,7),e.add(155,a,11,3),e.add(144,a,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(h,0,2,0),e.add(h,8,5,8),e.add(h,6,0,6),e.add(h,11,0,11),e.add(h,13,13,13),e}();class c extends s.Disposable{constructor(e=t.VT500_TRANSITION_TABLE){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new r.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,s.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new n.OscParser),this._dcsParser=this.register(new a.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:\"\\\\\"},(()=>!0))}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error(\"only one byte as prefix supported\");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(let t=0;t<e.intermediates.length;++t){const s=e.intermediates.charCodeAt(t);if(32>s||s>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");i<<=8,i|=s}}if(1!==e.final.length)throw new Error(\"final must be a single byte\");const s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){const t=[];for(;e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join(\"\")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){const i=this._identifier(e,[48,126]);void 0===this._escHandlers[i]&&(this._escHandlers[i]=[]);const s=this._escHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){const i=this._identifier(e);void 0===this._csiHandlers[i]&&(this._csiHandlers[i]=[]);const s=this._csiHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s,r=0,n=0,a=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(void 0===i||1===this._parseStack.state)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");const t=this._parseStack.handlers;let n=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](this._params),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 4:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],s=this._dcsParser.unhook(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],s=this._oscParser.end(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let i=a;i<t;++i){switch(r=e[i],n=this._transitions.table[this.currentState<<8|(r<160?r:h)],n>>4){case 2:for(let s=i+1;;++s){if(s>=t||(r=e[s])<32||r>126&&r<h){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<h){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<h){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<h){this._printHandler(e,i,s),i=s-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:i,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const a=this._csiHandlers[this._collect<<8|r];let o=a?a.length-1:-1;for(;o>=0&&(s=a[o](this._params),!0!==s);o--)if(s instanceof Promise)return this._preserveStack(3,a,o,n,i),s;o<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do{switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}}while(++i<t&&(r=e[i])>47&&r<60);i--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:const c=this._escHandlers[this._collect<<8|r];let l=c?c.length-1:-1;for(;l>=0&&(s=c[l](),!0!==s);l--)if(s instanceof Promise)return this._preserveStack(4,c,l,n,i),s;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let s=i+1;;++s)if(s>=t||24===(r=e[s])||26===r||27===r||r>127&&r<h){this._dcsParser.put(e,i,s),i=s-1;break}break;case 14:if(s=this._dcsParser.unhook(24!==r&&26!==r),s)return this._preserveStack(6,[],0,n,i),s;27===r&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let s=i+1;;s++)if(s>=t||(r=e[s])<32||r>127&&r<h){this._oscParser.put(e,i,s),i=s-1;break}break;case 6:if(s=this._oscParser.end(24!==r&&26!==r),s)return this._preserveStack(5,[],0,n,i),s;27===r&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&n}}}t.EscapeSequenceParser=c},242:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscHandler=t.OscParser=void 0;const s=i(770),r=i(482),n=[];t.OscParser=class{constructor(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n}reset(){if(2===this._state)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,\"START\")}_put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._id,\"PUT\",(0,r.utf32ToString)(e,t,i))}start(){this.reset(),this._state=1}put(e,t,i){if(3!==this._state){if(1===this._state)for(;t<i;){const i=e[t++];if(59===i){this._state=2,this._start();break}if(i<48||57<i)return void(this._state=3);-1===this._id&&(this._id=0),this._id=10*this._id+i-48}2===this._state&&i-t>0&&this._put(e,t,i)}}end(e,t=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].end(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._id,\"END\",e);this._active=n,this._id=-1,this._state=0}}},t.OscHandler=class{constructor(e){this._handler=e,this._data=\"\",this._hitLimit=!1}start(){this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,r.utf32ToString)(e,t,i),this._data.length>s.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then((e=>(this._data=\"\",this._hitLimit=!1,e)));return this._data=\"\",this._hitLimit=!1,t}}},742:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Params=void 0;const i=2147483647;class s{static fromArray(e){const t=new s;if(!e.length)return t;for(let i=Array.isArray(e[0])?1:0;i<e.length;++i){const s=e[i];if(Array.isArray(s))for(let e=0;e<s.length;++e)t.addSubParam(s[e]);else t.addParam(s)}return t}constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const e=new s(this.maxLength,this.maxSubParamsLength);return e.params.set(this.params),e.length=this.length,e._subParams.set(this._subParams),e._subParamsLength=this._subParamsLength,e._subParamsIdx.set(this._subParamsIdx),e._rejectDigits=this._rejectDigits,e._rejectSubDigits=this._rejectSubDigits,e._digitIsSub=this._digitIsSub,e}toArray(){const e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);const i=this._subParamsIdx[t]>>8,s=255&this._subParamsIdx[t];s-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,s))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>i?i:e}}addSubParam(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=e>i?i:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0}getSubParams(e){const t=this._subParamsIdx[e]>>8,i=255&this._subParamsIdx[e];return i-t>0?this._subParams.subarray(t,i):null}getSubParamsAll(){const e={};for(let t=0;t<this.length;++t){const i=this._subParamsIdx[t]>>8,s=255&this._subParamsIdx[t];s-i>0&&(e[t]=this._subParams.slice(i,s))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const s=this._digitIsSub?this._subParams:this.params,r=s[t-1];s[t-1]=~r?Math.min(10*r+e,i):e}}t.Params=s},741:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AddonManager=void 0,t.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){const i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i<this._addons.length;i++)if(this._addons[i]===e){t=i;break}if(-1===t)throw new Error(\"Could not dispose an addon that has not been loaded\");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}}},771:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferApiView=void 0;const s=i(785),r=i(511);t.BufferApiView=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){const t=this._buffer.lines.get(e);if(t)return new s.BufferLineApiView(t)}getNullCell(){return new r.CellData}}},785:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLineApiView=void 0;const s=i(511);t.BufferLineApiView=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new s.CellData)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}}},285:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferNamespaceApi=void 0;const s=i(771),r=i(460),n=i(844);class a extends n.Disposable{constructor(e){super(),this._core=e,this._onBufferChange=this.register(new r.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new s.BufferApiView(this._core.buffers.normal,\"normal\"),this._alternate=new s.BufferApiView(this._core.buffers.alt,\"alternate\"),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error(\"Active buffer is neither normal nor alternate\")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}t.BufferNamespaceApi=a},975:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParserApi=void 0,t.ParserApi=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,(e=>t(e.toArray())))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,((e,i)=>t(e,i.toArray())))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}}},90:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeApi=void 0,t.UnicodeApi=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}}},744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,a=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;const n=i(460),a=i(844),o=i(295),h=i(585);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;let c=t.BufferService=class extends a.Disposable{get buffer(){return this.buffers.active}constructor(e){super(),this.isUserScrolling=!1,this._onResize=this.register(new n.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new n.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,t.MINIMUM_COLS),this.rows=Math.max(e.rawOptions.rows||0,t.MINIMUM_ROWS),this.buffers=this.register(new o.BufferSet(e,this))}resize(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){const i=this.buffer;let s;s=this._cachedBlankLine,s&&s.length===this.cols&&s.getFg(0)===e.fg&&s.getBg(0)===e.bg||(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;const r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(0===i.scrollTop){const e=i.lines.isFull;n===i.lines.length-1?e?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),e?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{const e=n-r+1;i.lines.shiftElements(r+1,e-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t,i){const s=this.buffer;if(e<0){if(0===s.ydisp)return;this.isUserScrolling=!0}else e+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);const r=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+e,s.ybase),0),r!==s.ydisp&&(t||this._onScroll.fire(s.ydisp))}};t.BufferService=c=s([r(0,h.IOptionsService)],c)},994:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharsetService=void 0,t.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}}},753:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,a=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreMouseService=void 0;const n=i(585),a=i(460),o=i(844),h={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>32!==e.action},DRAG:{events:23,restrict:e=>32!==e.action||3!==e.button},ANY:{events:31,restrict:e=>!0}};function c(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(i|=64,i|=e.action):(i|=3&e.button,4&e.button&&(i|=64),8&e.button&&(i|=128),32===e.action?i|=32:0!==e.action||t||(i|=3)),i}const l=String.fromCharCode,_={DEFAULT:e=>{const t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":`\u001b[M${l(t[0])}${l(t[1])}${l(t[2])}`},SGR:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${c(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${c(e,!0)};${e.x};${e.y}${t}`}};let d=t.CoreMouseService=class extends o.Disposable{constructor(e,t){super(),this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol=\"\",this._activeEncoding=\"\",this._lastEvent=null,this._onProtocolChange=this.register(new a.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const e of Object.keys(h))this.addProtocol(e,h[e]);for(const e of Object.keys(_))this.addEncoding(e,_[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol \"${e}\"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding \"${e}\"`);this._activeEncoding=e}reset(){this.activeProtocol=\"NONE\",this.activeEncoding=\"DEFAULT\",this._lastEvent=null}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._equalEvents(this._lastEvent,e,\"SGR_PIXELS\"===this._activeEncoding))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;const t=this._encodings[this._activeEncoding](e);return t&&(\"DEFAULT\"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x)return!1;if(e.y!==t.y)return!1}else{if(e.col!==t.col)return!1;if(e.row!==t.row)return!1}return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};t.CoreMouseService=d=s([r(0,n.IBufferService),r(1,n.ICoreService)],d)},83:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,a=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreService=void 0;const n=i(439),a=i(460),o=i(844),h=i(585),c=Object.freeze({insertMode:!1}),l=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let _=t.CoreService=class extends o.Disposable{constructor(e,t,i){super(),this._bufferService=e,this._logService=t,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new a.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new a.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new a.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new a.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,n.clone)(c),this.decPrivateModes=(0,n.clone)(l)}reset(){this.modes=(0,n.clone)(c),this.decPrivateModes=(0,n.clone)(l)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const i=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data \"${e}\"`,(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary \"${e}\"`,(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onBinary.fire(e))}};t.CoreService=_=s([r(0,h.IBufferService),r(1,h.ILogService),r(2,h.IOptionsService)],_)},348:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.InstantiationService=t.ServiceCollection=void 0;const s=i(585),r=i(343);class n{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}forEach(e){for(const[t,i]of this._entries.entries())e(t,i)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}}t.ServiceCollection=n,t.InstantiationService=class{constructor(){this._services=new n,this._services.set(s.IInstantiationService,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){const i=(0,r.getServiceDependencies)(e).sort(((e,t)=>e.index-t.index)),s=[];for(const t of i){const i=this._services.get(t.id);if(!i)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`);s.push(i)}const n=i.length>0?i[0].index:t.length;if(t.length!==n)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...[...t,...s])}}},866:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,a=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.traceCall=t.setTraceLogger=t.LogService=void 0;const n=i(844),a=i(585),o={trace:a.LogLevelEnum.TRACE,debug:a.LogLevelEnum.DEBUG,info:a.LogLevelEnum.INFO,warn:a.LogLevelEnum.WARN,error:a.LogLevelEnum.ERROR,off:a.LogLevelEnum.OFF};let h,c=t.LogService=class extends n.Disposable{get logLevel(){return this._logLevel}constructor(e){super(),this._optionsService=e,this._logLevel=a.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange(\"logLevel\",(()=>this._updateLogLevel()))),h=this}_updateLogLevel(){this._logLevel=o[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)\"function\"==typeof e[t]&&(e[t]=e[t]())}_log(e,t,i){this._evalLazyOptionalParams(i),e.call(console,(this._optionsService.options.logger?\"\":\"xterm.js: \")+t,...i)}trace(e,...t){this._logLevel<=a.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=a.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=a.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=a.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=a.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};t.LogService=c=s([r(0,a.IOptionsService)],c),t.setTraceLogger=function(e){h=e},t.traceCall=function(e,t,i){if(\"function\"!=typeof i.value)throw new Error(\"not supported\");const s=i.value;i.value=function(...e){if(h.logLevel!==a.LogLevelEnum.TRACE)return s.apply(this,e);h.trace(`GlyphRenderer#${s.name}(${e.map((e=>JSON.stringify(e))).join(\", \")})`);const t=s.apply(this,e);return h.trace(`GlyphRenderer#${s.name} return`,t),t}}},302:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=void 0;const s=i(460),r=i(844),n=i(114);t.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,cursorInactiveStyle:\"outline\",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"courier-new, courier, monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:\"info\",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:n.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1,overviewRulerWidth:0};const a=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"];class o extends r.Disposable{constructor(e){super(),this._onOptionChange=this.register(new s.EventEmitter),this.onOptionChange=this._onOptionChange.event;const i={...t.DEFAULT_OPTIONS};for(const t in e)if(t in i)try{const s=e[t];i[t]=this._sanitizeAndValidateOption(t,s)}catch(e){console.error(e)}this.rawOptions=i,this.options={...i},this._setupOptions(),this.register((0,r.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(e,t){return this.onOptionChange((i=>{i===e&&t(this.rawOptions[e])}))}onMultipleOptionChange(e,t){return this.onOptionChange((i=>{-1!==e.indexOf(i)&&t()}))}_setupOptions(){const e=e=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);return this.rawOptions[e]},i=(e,i)=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);i=this._sanitizeAndValidateOption(e,i),this.rawOptions[e]!==i&&(this.rawOptions[e]=i,this._onOptionChange.fire(e))};for(const t in this.rawOptions){const s={get:e.bind(this,t),set:i.bind(this,t)};Object.defineProperty(this.options,t,s)}}_sanitizeAndValidateOption(e,i){switch(e){case\"cursorStyle\":if(i||(i=t.DEFAULT_OPTIONS[e]),!function(e){return\"block\"===e||\"underline\"===e||\"bar\"===e}(i))throw new Error(`\"${i}\" is not a valid value for ${e}`);break;case\"wordSeparator\":i||(i=t.DEFAULT_OPTIONS[e]);break;case\"fontWeight\":case\"fontWeightBold\":if(\"number\"==typeof i&&1<=i&&i<=1e3)break;i=a.includes(i)?i:t.DEFAULT_OPTIONS[e];break;case\"cursorWidth\":i=Math.floor(i);case\"lineHeight\":case\"tabStopWidth\":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case\"minimumContrastRatio\":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case\"scrollback\":if((i=Math.min(i,4294967295))<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case\"fastScrollSensitivity\":case\"scrollSensitivity\":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);break;case\"rows\":case\"cols\":if(!i&&0!==i)throw new Error(`${e} must be numeric, value: ${i}`);break;case\"windowsPty\":i=i??{}}return i}}t.OptionsService=o},660:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,a=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkService=void 0;const n=i(585);let a=t.OscLinkService=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){const t=this._bufferService.buffer;if(void 0===e.id){const i=t.addMarker(t.ybase+t.y),s={data:e,id:this._nextId++,lines:[i]};return i.onDispose((()=>this._removeMarkerFromLink(s,i))),this._dataByLinkId.set(s.id,s),s.id}const i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;const n=t.addMarker(t.ybase+t.y),a={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose((()=>this._removeMarkerFromLink(a,n))),this._entriesWithId.set(a.key,a),this._dataByLinkId.set(a.id,a),a.id}addLineToLink(e,t){const i=this._dataByLinkId.get(e);if(i&&i.lines.every((e=>e.line!==t))){const e=this._bufferService.buffer.addMarker(t);i.lines.push(e),e.onDispose((()=>this._removeMarkerFromLink(i,e)))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){const i=e.lines.indexOf(t);-1!==i&&(e.lines.splice(i,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};t.OscLinkService=a=s([r(0,n.IBufferService)],a)},343:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0;const i=\"di$target\",s=\"di$dependencies\";t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e[s]||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const r=function(e,t,n){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");!function(e,t,r){t[i]===t?t[s].push({id:e,index:r}):(t[s]=[{id:e,index:r}],t[i]=t)}(r,e,n)};return r.toString=()=>e,t.serviceRegistry.set(e,r),r}},585:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(343);var r;t.IBufferService=(0,s.createDecorator)(\"BufferService\"),t.ICoreMouseService=(0,s.createDecorator)(\"CoreMouseService\"),t.ICoreService=(0,s.createDecorator)(\"CoreService\"),t.ICharsetService=(0,s.createDecorator)(\"CharsetService\"),t.IInstantiationService=(0,s.createDecorator)(\"InstantiationService\"),function(e){e[e.TRACE=0]=\"TRACE\",e[e.DEBUG=1]=\"DEBUG\",e[e.INFO=2]=\"INFO\",e[e.WARN=3]=\"WARN\",e[e.ERROR=4]=\"ERROR\",e[e.OFF=5]=\"OFF\"}(r||(t.LogLevelEnum=r={})),t.ILogService=(0,s.createDecorator)(\"LogService\"),t.IOptionsService=(0,s.createDecorator)(\"OptionsService\"),t.IOscLinkService=(0,s.createDecorator)(\"OscLinkService\"),t.IUnicodeService=(0,s.createDecorator)(\"UnicodeService\"),t.IDecorationService=(0,s.createDecorator)(\"DecorationService\")},480:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeService=void 0;const s=i(460),r=i(225);class n{static extractShouldJoin(e){return 0!=(1&e)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,i=!1){return(16777215&e)<<3|(3&t)<<1|(i?1:0)}constructor(){this._providers=Object.create(null),this._active=\"\",this._onChange=new s.EventEmitter,this.onChange=this._onChange.event;const e=new r.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version \"${e}\"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let t=0,i=0;const s=e.length;for(let r=0;r<s;++r){let a=e.charCodeAt(r);if(55296<=a&&a<=56319){if(++r>=s)return t+this.wcwidth(a);const i=e.charCodeAt(r);56320<=i&&i<=57343?a=1024*(a-55296)+i-56320+65536:t+=this.wcwidth(i)}const o=this.charProperties(a,i);let h=n.extractWidth(o);n.extractShouldJoin(o)&&(h-=n.extractWidth(i)),t+=h,i=o}return t}charProperties(e,t){return this._activeProvider.charProperties(e,t)}}t.UnicodeService=n},781:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Terminal=void 0;const s=i(437),r=i(969),n=i(460);class a extends r.CoreTerminal{constructor(e={}){super(e),this._onBell=this.register(new n.EventEmitter),this.onBell=this._onBell.event,this._onCursorMove=this.register(new n.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onTitleChange=this.register(new n.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onA11yCharEmitter=this.register(new n.EventEmitter),this.onA11yChar=this._onA11yCharEmitter.event,this._onA11yTabEmitter=this.register(new n.EventEmitter),this.onA11yTab=this._onA11yTabEmitter.event,this._setup(),this.register(this._inputHandler.onRequestBell((()=>this.bell()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register((0,n.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,n.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,n.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,n.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter))}get buffer(){return this.buffers.active}get markers(){return this.buffer.markers}addMarker(e){if(this.buffer===this.buffers.normal)return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}bell(){this._onBell.fire()}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){e===this.cols&&t===this.rows||super.resize(e,t)}clear(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(s.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0})}}reset(){this.options.rows=this.rows,this.options.cols=this.cols,this._setup(),super.reset()}}t.Terminal=a}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}var s={};(()=>{var e=s;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Terminal=void 0;const t=i(285),r=i(975),n=i(90),a=i(781),o=i(741),h=i(844),c=[\"cols\",\"rows\"];class l extends h.Disposable{constructor(e){super(),this._core=this.register(new a.Terminal(e)),this._addonManager=this.register(new o.AddonManager),this._publicOptions={...this._core.options};const t=e=>this._core.options[e],i=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(const e in this._core.options){Object.defineProperty(this._publicOptions,e,{get:()=>this._core.options[e],set:t=>{this._checkReadonlyOptions(e),this._core.options[e]=t}});const s={get:t.bind(this,e),set:i.bind(this,e)};Object.defineProperty(this._publicOptions,e,s)}}_checkReadonlyOptions(e){if(c.includes(e))throw new Error(`Option \"${e}\" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.options.allowProposedApi)throw new Error(\"You must set the allowProposedApi option to true to use proposed API\")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onLineFeed(){return this._core.onLineFeed}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onTitleChange(){return this._core.onTitleChange}get parser(){return this._checkProposedApi(),this._parser||(this._parser=new r.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new n.UnicodeApi(this._core)}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._checkProposedApi(),this._buffer||(this._buffer=this.register(new t.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const e=this._core.coreService.decPrivateModes;let t=\"none\";switch(this._core.coreMouseService.activeProtocol){case\"X10\":t=\"x10\";break;case\"VT200\":t=\"vt200\";break;case\"DRAG\":t=\"drag\";break;case\"ANY\":t=\"any\"}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(const t in e)this._publicOptions[t]=e[t]}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}registerMarker(e=0){return this._checkProposedApi(),this._verifyIntegers(e),this._core.addMarker(e)}addMarker(e){return this.registerMarker(e)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(\"\\r\\n\",t)}reset(){this._core.reset()}loadAddon(e){this._addonManager.loadAddon(this,e)}_verifyIntegers(...e){for(const t of e)if(t===1/0||isNaN(t)||t%1!=0)throw new Error(\"This API only accepts integers\")}}e.Terminal=l})();var r=exports;for(var n in s)r[n]=s[n];s.__esModule&&Object.defineProperty(r,\"__esModule\",{value:!0})})();\n//# sourceMappingURL=xterm-headless.js.map","import { Terminal } from '@xterm/headless'\nimport { pluralize } from '../../../common/pluralize'\nimport { BASH_TOOL_MAX_CHARACTER_OUTPUT, type BashToolDefOutput } from './common'\n\nexport function createXterm(): Terminal {\n\treturn new Terminal({\n\t\tcols: 1_000,\n\t\trows: 500,\n\t\tallowProposedApi: true,\n\t\tconvertEol: true,\n\t\tscrollback: 10_000,\n\t\tcursorBlink: false,\n\t})\n}\n\nexport interface XtermContentParams {\n\tmaxCharacterLength: number\n}\nconst defaultContentParams: XtermContentParams = {\n\tmaxCharacterLength: BASH_TOOL_MAX_CHARACTER_OUTPUT,\n}\n\n/**\n * Extracts formatted content from an XTerm terminal instance\n * @param terminal The XTerm terminal instance\n * @returns Clean, formatted terminal content\n */\nexport function getXtermContent(\n\tterminal: Terminal,\n\tparams: XtermContentParams = defaultContentParams,\n): BashToolDefOutput {\n\tconst buffer = terminal.buffer.active\n\tconst lines: string[] = []\n\tconst maxCharacterLength = Math.max(0, params.maxCharacterLength)\n\n\t// Collect all lines from the buffer ignoring truncation settings.\n\tfor (let y = 0; y < buffer.length; y++) {\n\t\tconst line = buffer.getLine(y)\n\t\tif (!line) {\n\t\t\tcontinue\n\t\t}\n\n\t\tconst lineText = line.translateToString(false).trimEnd()\n\n\t\tif (lineText.trim().length === 0 && lines.at(-1)?.trim().length === 0) {\n\t\t\t// Skip this line because it is empty and the previous line was also empty\n\t\t\tcontinue\n\t\t}\n\n\t\tlines.push(lineText)\n\t}\n\n\t// If necessary, return truncated output\n\tlet characterCount = 0\n\tfor (let i = lines.length - 1; i > 0; i--) {\n\t\tconst line = lines[i]!\n\t\tcharacterCount += line.length\n\t\tconst needsTruncation = characterCount > maxCharacterLength\n\t\tif (needsTruncation) {\n\t\t\tconst truncatedLinesCount = i\n\t\t\tconst truncatedLinesExplanation = `Truncated ${truncatedLinesCount} ${pluralize(truncatedLinesCount, 'line')} above this point`\n\t\t\tconst visibleLinesCount = lines.length - i - 1\n\t\t\tconst visibleLinesExplanation =\n\t\t\t\tvisibleLinesCount === 1\n\t\t\t\t\t? `Below is the last line of the output`\n\t\t\t\t\t: `Below are the last ${visibleLinesCount} lines of the output`\n\n\t\t\treturn {\n\t\t\t\toutput: [\n\t\t\t\t\t`--- ${truncatedLinesExplanation}. ${visibleLinesExplanation}. ---`,\n\t\t\t\t\t...lines.slice(i),\n\t\t\t\t].join('\\n'),\n\t\t\t\thidden_truncatedOutput: lines.slice(0, i).join('\\n'),\n\t\t\t}\n\t\t}\n\t}\n\n\t// No truncation needed, return the full output\n\treturn {\n\t\toutput: lines.join('\\n'),\n\t}\n}\n","import type { Observable } from '@sourcegraph/observable'\nimport { concatMap, promiseToObservable } from '@sourcegraph/observable'\nimport * as os from 'node:os'\nimport type { ResolvedConfiguration } from '../../../configuration/resolver'\nimport type { ToolRun } from '../../tool-service'\nimport { spawnAndObserveChildProcess } from '../node-helpers'\nimport type { BashToolDef } from './common'\nimport { loadProfileEnvironmentVariables } from './load-profile'\nimport { createXterm, getXtermContent } from './xterm'\n\nexport function runCommandWithNodeSpawn(\n\tcwd: string,\n\tconfig: ResolvedConfiguration,\n\targs: BashToolDef['args'],\n): Observable<ToolRun<BashToolDef>> {\n\tconst xterm = createXterm()\n\treturn loadProfileEnvironmentVariables(\n\t\tcwd,\n\t\tconfig.settings['terminal.commands.nodeSpawn.loadProfile'],\n\t).pipe(\n\t\tconcatMap((env) =>\n\t\t\tspawnAndObserveChildProcess(args.cmd, [], {\n\t\t\t\tshell: os.userInfo().shell || true,\n\t\t\t\tcwd,\n\t\t\t\tstdio: ['ignore', 'pipe', 'pipe'],\n\t\t\t\tenv,\n\t\t\t}),\n\t\t),\n\t\tconcatMap(({ lastData, exitCode, exited }): Observable<ToolRun<BashToolDef>> => {\n\t\t\treturn promiseToObservable(\n\t\t\t\tnew Promise((resolve) => {\n\t\t\t\t\tconst buffer = lastData?.subarray() ?? new Uint8Array()\n\t\t\t\t\txterm.write(buffer, () => {\n\t\t\t\t\t\tconst { output } = getXtermContent(xterm)\n\t\t\t\t\t\tif (exited) {\n\t\t\t\t\t\t\tresolve({\n\t\t\t\t\t\t\t\tstatus: 'done',\n\t\t\t\t\t\t\t\tresult: { output, exitCode: exitCode ?? -1 },\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresolve({\n\t\t\t\t\t\t\t\tstatus: 'in-progress',\n\t\t\t\t\t\t\t\tprogress: { output },\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t}),\n\t)\n}\n","import { concatMap, Observable, promiseToObservable } from '@sourcegraph/observable'\nimport * as os from 'node:os'\nimport { resolve } from 'path'\nimport { checkDirURIIsFile } from '../node-helpers'\nimport { commandRequiresExplicitUserAcceptance, requiresPathConfirmation } from './command-approval'\nimport type { bashToolReg } from './common'\nimport { runCommandWithNodeSpawn } from './node-spawn'\nimport { Dynamic } from './shell-command-parser'\n\nexport const nodeBashTool: NonNullable<(typeof bashToolReg)['fn']> = (\n\t{ args, userInput },\n\t{ dir, dirs, config, toolMessages },\n) => {\n\tcheckDirURIIsFile(dir)\n\n\tconst cwd = resolve(dir.fsPath, args.cwd ? expandHomeDir(args.cwd) : '.')\n\n\tconst validationError = (error: string) => ({\n\t\tstatus: 'done' as const,\n\t\tresult: {\n\t\t\toutput: `Error: ${error}`,\n\t\t\texitCode: 1,\n\t\t},\n\t})\n\n\tconst cmdError = validateCmd(args.cmd)\n\tif (cmdError) {\n\t\treturn Observable.of(validationError(cmdError))\n\t}\n\n\tconst cwdError = validateCwd(cwd)\n\tif (cwdError) {\n\t\treturn Observable.of(validationError(cwdError))\n\t}\n\tconst directoryPaths = [cwd, ...dirs.map((d) => d.fsPath)]\n\tconst validation = commandRequiresExplicitUserAcceptance(args.cmd, directoryPaths, {\n\t\tconfig: config.settings,\n\t})\n\tconst toAllow: string[] = validation.parts.flatMap((part) =>\n\t\t// Only offer adding program to allowlist when parsable, non-dynamic, non-concatenated, and within cwd.\n\t\tpart.requiresConfirmation\n\t\t\t? typeof part.command === 'string' ||\n\t\t\t\tpart.command.program === Dynamic ||\n\t\t\t\tArray.isArray(part.command.program) ||\n\t\t\t\tpart.command.arguments.some(\n\t\t\t\t\t(arg) =>\n\t\t\t\t\t\targ === Dynamic ||\n\t\t\t\t\t\t(typeof arg === 'string' && requiresPathConfirmation(arg, directoryPaths)),\n\t\t\t\t)\n\t\t\t\t? []\n\t\t\t\t: [part.command.program]\n\t\t\t: [],\n\t)\n\tif (validation.requiresConfirmation) {\n\t\tif (userInput && !userInput.accepted) {\n\t\t\treturn Observable.of({ status: 'rejected-by-user', toAllow })\n\t\t} else if (!userInput?.accepted) {\n\t\t\treturn Observable.of({ status: 'blocked-on-user', toAllow })\n\t\t}\n\t}\n\n\tconst runWith = config.settings['terminal.commands.environment'] ?? 'vscode-terminal'\n\tif (import.meta.env.VITE_PLATFORM === 'vscode' && runWith === 'vscode-terminal') {\n\t\t// This dynamic import shouldn't be required because `runCommandInVSCodeTerminal`\n\t\t// doesn't import `vscode`, it only imports it as a *type*. However, Vitest\n\t\t// doesn't seem to correctly handle type imports?\n\t\treturn promiseToObservable(import('./vscode-terminal')).pipe(\n\t\t\tconcatMap((terminal) =>\n\t\t\t\tterminal.runCommandInVSCodeTerminal(cwd, config, args, toolMessages),\n\t\t\t),\n\t\t)\n\t}\n\treturn runCommandWithNodeSpawn(cwd, config, args)\n}\n\nconst homeDirectory = os.homedir()\n\nfunction expandHomeDir(path: string) {\n\treturn homeDirectory ? path.replace(/^~(?=$|\\/|\\\\)/, homeDirectory) : path\n}\n\nfunction validateCmd(cmd: unknown): string | undefined {\n\tif (typeof cmd !== 'string') {\n\t\treturn '`cmd` must be a string representing a command.'\n\t}\n\n\treturn undefined\n}\n\nfunction validateCwd(cwd: unknown): string | undefined {\n\tif (cwd === undefined) {\n\t\treturn undefined\n\t}\n\n\tif (typeof cwd !== 'string') {\n\t\treturn '`cwd` must be a string representing a relative path within the workspace.'\n\t}\n\n\treturn undefined\n}\n"],"names":["SAFE_COMMANDS","SAFE_COMMAND_PREFIXES","SAFE_ABSOLUTE_PATHS","requiresPathConfirmation","requestPath","dirs","path","dir","isDescendant","parts","depth","part","parent","child","rel","commandContainsPathsOutsideCwd","invocation","validationChecks","arg","getValidationChecks","strict","defaultChecks","program","argStrings","fullCommand","isSafeCommand","invocationStr","safeCmd","getOverriddenSafePrefixes","userAllowlist","overridden","normalizedAllowlist","entry","safePrefix","otherPrefix","commandRequiresExplicitUserAcceptance","cmd","params","invocations","parsed","parseShellCommand","flatInvocations","error","logger","strictMode","hasDynamicParts","wordToString","Dynamic","allowed","allowedCommands","overriddenPrefixes","prefix","wildcardDelim","escapedParts","e","i","s","r","t","a","o","c","l","_","d","f","u","g","v","b","S","n","m","C","y","w","B","E","h","p","A","L","exports","createXterm","Terminal","defaultContentParams","BASH_TOOL_MAX_CHARACTER_OUTPUT","getXtermContent","terminal","buffer","lines","maxCharacterLength","line","lineText","characterCount","truncatedLinesCount","truncatedLinesExplanation","pluralize","visibleLinesCount","visibleLinesExplanation","runCommandWithNodeSpawn","cwd","config","args","xterm","loadProfileEnvironmentVariables","concatMap","env","spawnAndObserveChildProcess","os","lastData","exitCode","exited","promiseToObservable","resolve","output","nodeBashTool","userInput","toolMessages","checkDirURIIsFile","expandHomeDir","validationError","cmdError","validateCmd","Observable","cwdError","validateCwd","directoryPaths","validation","toAllow","homeDirectory"],"mappings":";;;;;AAYA,MAAMA,KAAgB;AAAA;AAAA,EAErB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AA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AI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,CAAC,GAAE,IAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,OAAM,KAAK,GAAE,CAAC,QAAO,MAAM,GAAE,CAAC,QAAO,MAAM,GAAE,CAAC,QAAO,MAAM,GAAE,CAAC,QAAO,MAAM,GAAE,CAAC,QAAO,MAAM,GAAE,CAAC,QAAO,MAAM,GAAE,CAAC,QAAO,MAAM,GAAE,CAAC,QAAO,MAAM,CA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IAAG,GAAG,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,CAAC,IAAG,IAAG,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,CAAC,IAAG,IAAG,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,IAAI,KAAI,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,GAAE,IAAG,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,IAAG,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,IAAG,CAAC,GAAE,EAAE,QAAQ,CAAC,IAAG,IAAG,EAAE,GAAE,GAAE,IAAG,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,GAAE,IAAG,CAAC,GAAE,EAAE,IAAI,IAAG,GAAE,IAAG,CAAC,GAAE,EAAE,QAAQA,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,IAAI,KAAI,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,GAAE,GAAE,EAAE,GAAE,EAAE,QAAQ,CAAC,IAAG,IAAG,IAAG,EAAE,GAAE,GAAE,GAAE,EAAE,GAAE,EAAE,QAAQA,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQA,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,IAAI,KAAI,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,CAAC,IAAG,IAAG,IAAG,EAAE,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQA,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,IAAI,KAAI,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,EAAE,GAAE,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,IAAG,IAAG,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,IAAG,IAAG,EAAE,GAAE,EAAE,QAAQ,EAAE,IAAG,GAAG,GAAE,GAAE,IAAG,EAAE,GAAE,EAAE,QAAQA,GAAE,IAAG,IAAG,EAAE,GAAE,EAAE,QAAQ,GAAE,IAAG,IAAG,EAAE,GAAE,EAAE,IAAI,KAAI,IAAG,GAAE,EAAE,GAAE,EAAE,QAAQ,CAAC,IAAG,KAAI,IAAG,EAAE,GAAE,IAAG,IAAG,CAAC,GAAE,EAAE,IAAI,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,IAAI,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,IAAI,GAAE,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","x_google_ignoreList":[1]}